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 Services(APIサービス)]を選択して[Next(次へ)]をクリックします。

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

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

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

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

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

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

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

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

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

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

フローを作成する

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

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

  2. [フローを開始するためのアプリを選択]ダイアログで、[API Endpoint(APIエンドポイント)]を選択します。

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

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

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

    • [Any(すべて)]:適切なスコープが設定されているすべてのアプリ統合がフローをトリガーできます。

    • [Select from list(リストから選択)]:ドロップダウンメニューを使用して、フローをトリガーできる特定のアプリ統合を選択します。各統合には適切なスコープが必要です。

      リストをフィルターするには、フィールド内で統合の名前の入力を開始します。リストから統合を削除するには、アプリ名の横にある「X」をクリックします。

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

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

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

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

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

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

関連項目

関数:APIエンドポイント

フローエイリアス

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