サードパーティトークンを受け入れるための OAuth OIDC プロバイダーの構成
シングルサインオンオプション (マルチプロバイダー SSO) を使用した受信 API 呼び出しを使用して、サードパーティ OIDC プロバイダーによって生成された ID トークンを受け入れるように OAuth OpenID Connect (OIDC) プロバイダーを構成します。
始める前に
このタスクについて
ServiceNow AI Platform は、受信 API 呼び出しに加えて、外部のシングルサインオン (SSO) 実装を通じて OpenID Connect (OIDC) をサポートします。
OIDC プロバイダー構成の例については、「 Set up Microsoft Entra ID spoke」を参照してください。OIDC プロバイダー構成の SSO 固有の例については、「 Single Sign-on (SSO) 用の OpenID Connect (OIDC) 構成の作成」を参照してください。
手順
以下に REST API 呼び出しを呼び出す cURL 要求の例を示します。
REST API 呼び出しを呼び出します。次の手順を実行します。
- OpenID Connect プロバイダーにアプリを登録します。
- OAuth OIDC エンティティを構成します。
- OIDC プロバイダーを構成します。
表 : 1. OIDC プロバイダー OIDC プロバイダー OIDC プロバイダーの名前。 OIDC メタデータ URL OIDC メタデータ URL (既知の構成 URL) を指定します。この情報を使用して、 jwks エンドポイントからトークンを検証するための公開鍵をフェッチします。 ユーザー要求 ユーザーテーブルに対して検証される要求。 ユーザーフィールド ユーザーレコードを識別するユーザー要求。 JTI 要求検証を有効化 有効にすると、ServiceNow JWT トークン検証により、プロバイダーから送信された JTI も検証されます。 注:検証がチェックされない場合、jti が JWT トークンに存在するかどうかにかかわらず、検証できなくなります。トークン内の要求名は jti である必要があります。この情報は、リプレイ攻撃を防ぐために使用されます。 - JWT トークンを取得します。
- REST API 呼び出しを呼び出します。
- テーブル API またはスクリプト Web サービスにアクセスするための認証ヘッダーの ID トークン。
curl -X GET --header "Accept:application/json" https://<instance_name>.service-now.com/api/now/table/incident/897b04f2dbd4a300a135364e9d961952 -k --header "Authorization: Bearer eyJraWQiOiJjNTZtZTlXU0xPVnY3UFMwcTg4Qzl1b0lzNjFQYTdmUG4yZFVFOW9RNUg4IiwiYWxnIjoiUlMyNTYifQ.eyJzdWIiOiIwMHVnZDg1OD VkczI1WXpUSjBoNyIsIm5hbWUiOiJpbXJhbiBhbGkiLCJsb2NhbGUiOiJlbi1VUyIsImVtYWlsIjoiaW1yb241NDNAZ21haWwuY29tIiwidmVyIjoxLCJpc3MiOiJodHRwczovL2Rldi05MzQ xMjEub2t0YXByZXZpZXcuY29tIiwiYXVkIjoiMG9hZ2Q4bzk3a2lCT3dwd0IwaDciLCJpYXQiOjE1Mzc5MzMzMjYsImV4cCI6MTUzNzkzNjkyNiwianRpIjoiSUQueThVdXpWNUg2bm16SzRs OTI1RFVrQnJoR1o1MmJzVVpGVHRVTEphQjg3ayIsImFtciI6WyJwd2QiXSwiaWRwIjoiMDBvZ2Q4NTgycEFqZDZTemcwaDciLCJub25jZSI6InNub3ciLCJwcmVmZXJyZWRfdXNlcm5hbWUiO iJpbXJvbjU0M0BnbWFpbC5jb20iLCJnaXZlbl9uYW1lIjoiaW1yYW4iLCJmYW1pbHlfbmFtZSI6ImFsaSIsInpvbmVpbmZvIjoiQW1lcmljYS9Mb3NfQW5nZWxlcyIsInVwZGF0ZWRfYXQiOj E1Mzc5MzAxOTcsImVtYWlsX3ZlcmlmaWVkIjp0cnVlLCJhdXRoX3RpbWUiOjE1Mzc5Mjk2NjF9.OG87SYxWFgHGlhBYby2H79diRm9rlYZTeEkIINRUatwg-p4739htB8xEY-5_t6yU_6k5w1 0pdgtt5M5QFZRPXVbQZNoGtY-Bxn0BjaimcFgoWfhY_0ldnGTkzN2RYyIHvrf9-yhxg347zvczmLrgMMa_VwG4rxrtE6rUXaIpIeIK5b-Deq8ADz8UTUTKpF_5RWk4X-oh5xK6BLniFHk4ShO Zq2v_mjproXwKk5euJKrVrar2lQ4adZCOSTRuTf3ThMO5WDh0sel-82LngXtLzRJJ51IqxAsXns0kJHLLqLtH1hXNRKfwT1ScQoE_OfWm4t0KryI2j4wSMEanFtLXIw" - ユーザーが認証されると、有効なアプリケーション/json 応答が返されます。それ以外の場合は、「ユーザーが認証されていません」というエラーメッセージが返されます。
User Not Authenticated {"error":{"message":"User Not Authenticated","detail":"Required to provide Auth information"},"status":"failure"}
- テーブル API またはスクリプト Web サービスにアクセスするための認証ヘッダーの ID トークン。