OAuth 2.0でAPIエンドポイントを使ったフローの呼び出し

スコープ設定されたアクセストークンの承認にOAuth 2.0を使用することによって、APIエンドポイントフローを保護します。

フローを呼び出すと、フロー出力がレスポンスオブジェクトとして送信されます。

セキュアなOAuth 2.0クライアント資格情報交換を使用してフローのAPIエンドポイントを呼び出すには、次の手順を使用します。このプロセスには、秘密鍵JSON Web Token(JWT)を使用する必要があります。

APIサービス統合アプリを作成する

APIサービス統合アプリを作成することは、保護されたフローを呼び出すための最適な方法です。このアプリの唯一の目的は、フローを呼び出して出力を呼び出し元のリクエストに返すことです。

  1. Admin Consoleで、アプリケーション(Applications) > アプリケーション(Applications)に移動します。

  2. アプリ統合を作成(Create App Integration) をクリックします。

  3. APIサービス(API Services)を選択して次へ(Next)をクリックします。

  4. アプリ統合の名前(App integration name)を入力し、保存(Save)をクリックしてアプリ統合を作成します。

    独自のAPIサービスを構築する場合は、Okta開発者用ドキュメントの「APIサービス統合を構築する」を参照してください。

  5. アプリのリストで、新しいAPIサービスアプリを開きます。

  6. 一般(General)タブのクライアント資格情報(Client Credentials)ペインで、公開鍵/秘密鍵(Public key / Private key)オプションを選択します。

  7. 鍵を追加(Add key)をクリックし、ダイアログで新しい鍵を生成(Generate new key)をクリックします。この秘密鍵の値をローカルシステムにコピーします。

    クライアントが認証サーバーを呼び出したときに、この秘密鍵を使用してクライアントからのペイロードに署名します。

    Okta認証サーバーは、対応する公開鍵を使用して資格情報を検証し、アクセストークンを生成します。サービスアプリの作成の詳細については、「サービスアプリを使用してOkta向けOAuthを実装する」および「クライアント認証用のJWTを構築する」を参照してください。

  8. Okta APIスコープ(Okta API Scopes)タブで、okta.workflows.invoke.manageスコープの付与(Grant)をクリックします。

  9. 権限ダイアログで、アクセスを付与(Grant Access)をクリックしてアクションを確定します。

    独自のカスタムAPIサービスを構築する場合は、このスコープを追加します。呼び出しが適切に機能するにはこのスコープが必要であるからです。APIを呼び出す必要があるすべてのアプリ統合に適切なスコープを追加します。

フローを作成する

既存のAPIエンドポイントフローについては、これら2つのフロー作成ステップをスキップできます。代わりに、フローでAPIエンドポイント(API Endpoint)イベントカードの下部に表示されているエンドポイント設定(Endpoint settings)アイコンAPI endpoint settings icon.をクリックします。

  1. Workflowsコンソールでフローを作成し、イベントを追加(Add event)をクリックします。

  2. フローを開始するためのアプリを選択(Pick an app to start your flow)ダイアログで、APIエンドポイント(API Endpoint)を選択します。

APIエンドポイント設定を構成する

  1. APIエンドポイント設定(API endpoint settings)ダイアログで、セキュリティレベルとしてOAuth 2.0で保護(Secure with OAuth 2.0)を選択します。

  2. 呼び出しURL(Invoke URL)がリクエストを受信したときにフローをトリガーできるアプリ統合を選択します。

    • すべて(Any):org内のすべてのアプリは、okta.workflows.invoke.manageスコープがある場合にフローをトリガーできます。

    • リストから選択(Select from list):ドロップダウンメニューを使用して、フローをトリガーできる特定のアプリを選択します。

      • ドロップダウンメニューを使用してアプリを選択するには、Okta orgのスーパー管理者である必要があります。

      • 選択されたアプリには、okta.workflows.invoke.manageスコープも必要です。

      • リストをフィルタリングするには、フィールド内にアプリ名を入力します。

      • リストからアプリを削除する必要がある場合は、アプリ名の横にある[X]をクリックします。

  3. 閉じる(Close)jをクリックして、変更したエンドポイント設定を確定します。

APIエンドポイントフローをテストする

OAuthで保護されているエンドポイントをテストするには、PostmanクライアントなどのOAuthクライアントを使用する必要があります。

Postmanでは、https://${yourOktaDomain}/oauth2/v1/tokenにあるOkta orgのOAuthトークンエンドポイントに対してGETリクエストまたはPOSTリクエストを実行できます。

リクエストが認証されると、認証サーバーは、呼び出しURL(Invoke URL)にあるエンドポイントにクエリを実行してフローを呼び出すために使用できるアクセストークンを返します。

OAuth 2.0フローのテストに関する詳しい説明については、「OAuth 2.0で保護されているAPIエンドポイントの呼び出しとテスト」を参照してください。

関連項目

関数:APIエンドポイント(API Endpoint)

フローエイリアス

フロークライアントトークン