ServiceNow インスタンスで OIDC プロバイダーを設定する方法 Summaryこの記事では、次の方法について説明します。 ServiceNow インスタンスで OIDC プロバイダー (Okta) を設定するPOSTMAN などのサードパーティクライアントを使用して ID トークンを生成するServiceNow への受信 API 呼び出し用にサードパーティの OIDC プロバイダーによって生成される ID トークンを使用して呼び出しを行うサードパーティの OIDC プロバイダーに関する情報は、サードパーティベンダーから入手する必要があることに注意してください InstructionsOIDC は OpenID Connect (http://openid.net/connect/) の略です。OAuth 2.0 の上の認証レイヤーです。ServiceNow などのクライアントが、エンドユーザー情報を含む JWT トークンを OIDC プロバイダーに送信することで、エンドユーザーの ID を検証できます。 1) 無料の Okta 開発者アカウントを作成します。 https://developer.okta.com/signup/ 2) 新しいアプリケーションを作成します。Web タイプを選択し、 以下のように設定します。 3) a) ログインリダイレクト URI は以下のとおりです。 https://getpostman.com/oauth2/callback b) (メールアドレスを使用して) ユーザーを作成し、このユーザーをアプリケーションに関連付けます。 4) ServiceNow インスタンス上で、[システム OAuth] - > [アプリケーションレジストリ] を選択します [OAuth アプリケーションの種類は?] というフィールドで、[ID トークンを検証するために OIDC プロバイダーを構成] を選択します。 5) a) プロバイダー名 b) 手順 2 で作成した Okta アプリケーションのクライアント ID とクライアントシークレット c) [OAuth OIDC プロバイダー構成] -> 虫眼鏡をクリック -> [新規] [OIDC プロバイダー] -> 名前を指定 [OIDC メタデータ URL] -> https://<okta_developer_instance>/.well-known/openid-configuration <okta_developer_instance>は、手順 1 で作成した開発者アカウント名です 例: https://dev-735661.okta.com/.well-known/openid-configuration ユーザー要求:メール ユーザーフィールド:メール 以下のスクリーンショットを確認してください。 6) [sys_user] テーブルにユーザーを作成して、ステップ 3 (b) で作成したユーザーと一致するメールを設定します。また、このユーザーが、クエリまたは更新する予定のテーブルにアクセスまたは書き込みを行うために必要なロールを持っていることを確認します。 7) IDトークンを生成するには、次の手順を実行します。 POST MAN REST クライアントから、[OAuth 2.0] -> [認可] -> [新しいアクセストークンの取得 (Get New Access Token)] をクリックします。上記で行った構成と一致するように詳細を入力します。サンプル呼び出し: 8) [トークンの要求 (Request Token)] をクリックすると、OIDC プロバイダーエンドポイントの認可画面が表示されます。手順 3 (b) で作成したユーザーの詳細を入力します。 9) エンドポイントはアクセストークンと id_token で応答します。id_token をコピーし、https://jwt.io/ に移動して [Debugger] メニューをクリックし、[Encoded] フィールドに id_token を貼り付けて検証します。Decoded の [PAYLOAD: DATA] セクションに、予想されるデコードされた情報が表示されます。 10) ServiceNow REST エンドポイントをヘッダー「Authorization」と値「Bearer<id_token> 」を使用して呼び出します。