認証コードフローの例:認証サーバーとしての ServiceNow インスタンス

  • リリースバージョン: Yokohama
  • 更新日 2025年01月30日
  • 所要時間:2分
  • インスタンスを認証サーバーとして使用し、認証コードフローを使用してクライアントにトークンを発行するすることもできます。

    始める前に

    必要なロール:なし。

    この例では、2 つのインスタンスを使用します。1 つは認証サーバーとして、もう 1 つはクライアントとして使用します。1 つのインスタンスが REST 呼び出しを使用して、別のインスタンスからトークンを要求します。

    両方のインスタンスで OAuth のアクティブ化 を実行する必要があります。

    手順

    1. 認証サーバーインスタンス (Istanbul 以降のリリースを実行中) で、 システム OAuth > アプリケーションレジストリー をクリックし、[ 新規] をクリックします。
    2. [外部クライアント用の OAuth API エンドポイントを作成 (Create an OAuth API endpoint for external clients)] をクリックします。
    3. インスタンスにアクセスするクライアント用のエンドポイントを作成し ます。」の説明に従って、OAuth アプリケーションレコードのフォームフィールドに入力します。
      これらの手順を完了すると、認証サーバーが設定されます。次の手順に従って、クライアントサーバーを設定します。
    4. クライアントインスタンスで、 システム OAuth > アプリケーションレジストリー をクリックし、[ 新規] をクリックします。
    5. [サードパーティ OAuth プロバイダーに接続 (Connect to a third party OAuth Provider)] をクリックします。
    6. 「」の説明に従って、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 を追加することを忘れないでください。
    7. 認証コード権限許可タイプでレコードのプロファイルを作成します。
      クライアントサーバーがセットアップされます。これで、送信 REST メッセージを作成し、OAuth トークンを取得できるようになりました。