認証コードフローの例:認証サーバーとしての ServiceNow インスタンス
インスタンスを認証サーバーとして使用し、認証コードフローを使用してクライアントにトークンを発行するすることもできます。
始める前に
必要なロール:なし。
この例では、2 つのインスタンスを使用します。1 つは認証サーバーとして、もう 1 つはクライアントとして使用します。1 つのインスタンスが REST 呼び出しを使用して、別のインスタンスからトークンを要求します。
両方のインスタンスで OAuth のアクティブ化 を実行する必要があります。
手順
- 承認サーバー インスタンス (Istanbul 以降のリリースを実行している) で、次の場所に移動します。 システム OAuth > アプリケーションレジストリー をクリックし、[ 新規] をクリックします。
- [外部クライアント用の OAuth API エンドポイントを作成 (Create an OAuth API endpoint for external clients)] をクリックします。
-
「インスタンスにアクセスするクライアント用のエンドポイントを作成し ます。」の説明に従って、OAuth アプリケーションレコードのフォームフィールドに入力します。
これらの手順を完了すると、認証サーバーが設定されます。次の手順に従って、クライアントサーバーを設定します。
- クライアントインスタンスで、次の場所に移動します。 システム OAuth > アプリケーションレジストリー をクリックし、[ 新規] をクリックします。
- [サードパーティ OAuth プロバイダーに接続 (Connect to a third party OAuth Provider)] をクリックします。
-
「サードパーティ OAuth プロバイダーの使用」の説明に従って、OAuth アプリケーションレコードのフォームフィールドに入力します。
次のフィールド値に注意:
- 名前:OAuth アクセスが必要なアプリケーションを識別する一意の名前。
- クライアント ID:認証サーバー用に作成したアプリケーションレジストリレコードのクライアント ID。
- クライアントシークレット:[読み取り専用] 自動生成された一意のアプリケーション ID。インスタンスは、アクセストークンを要求するときにクライアント ID を使用します。
- デフォルトの権限許可タイプ:[認証コード] を選択します。
- 認証 URL:認証サーバーであるインスタンスの URL。URL の末尾に
oauth_auth.doを追加することを忘れないでください。 - ロゴ URL:アプリケーションロゴとして使用するイメージを含む URL。ユーザーがインスタンス上で制限されているリソースへのアクセスをクライアントアプリケーションに許可する要求を受け取ると、承認ページにロゴが表示されます。
- トークン URL:認証サーバーであるインスタンスの URL。URL の末尾に
oauth_token.doを追加することを忘れないでください。 - リダイレクト URL:このインスタンスの URL:クライアントサーバーインスタンス。URL の末尾に
oauth_redirect.doを追加することを忘れないでください。
-
認証コード権限許可タイプでレコードのプロファイルを作成します。
クライアントサーバーがセットアップされます。これで、送信 REST メッセージを作成し、OAuth トークンを取得できるようになりました。
- 移動先 システム Web サービス > 送信 > REST メッセージ をクリックし、[ 新規] をクリックします。
-
「」の説明に従って、OAuth アプリケーションレコードのフォームフィールドに入力します。
次のフィールド値に注意:
- エンドポイント:認証サーバーであるインスタンスの URL
- 認証タイプ:OAuth 2.0
- OAuth プロファイル:クライアントサーバー用に作成した OAuth プロファイル
- REST メッセージレコードで、[OAuth トークンを取得] をクリックします。
-
トークンを提供するインスタンスで認証します。方法は Single Sign-on 統合に応じて変わります。
使用できるものは次のとおりです。
- インスタンスへの認証に使用するユーザー名とパスワード。
- 有効になっている場合は IdP のユーザー名とパスワード。[外部ログインを使用] をクリックして IdP ログイン画面にアクセスします。注:IdP ログインページに自動的にリダイレクトするには、glide.authenticate.external システムプロパティを設定する必要があります。
- MFA が有効になっている場合は、コード。
-
[許可] または [拒否] をクリックして認証を完了し、トークンを発行します。
この後のプロセスの概要は「OAuth 認証コード権限許可フロー」で説明されています。