- 前提条件を満たす
- アプリケーションで Custom Token Exchange を有効にする
- Custom Token Exchange Profile を設定し、管理する
前提条件
- ファーストパーティ クライアントである
- OIDC 準拠である
アプリケーションで Custom Token Exchange を有効にする
- デフォルトでは、Custom Token Exchange は無効になっています。Custom Token Exchange を有効にするには、Management API を使用して Create a Client に
POSTリクエストを送信するか、Update a Client にPATCHリクエストを送信します。token_exchangeのallow_any_profile_of_type属性を["custom_authentication"]に設定します:
- アプリケーションで、Custom Token Exchange に使用する接続を有効にします。
- アプリケーションが ファーストパーティ として設定されており、Dashboard > Applications > Advanced Settings > OAuth で OIDC 準拠 として構成されていることを確認します。
インポートモードが
ON の Custom DB でサポートされるのは、setUserById() 操作のみです。/oauth/token エンドポイントを呼び出すときに使用する client_id と client_secret を控えておきます。
Custom Token Exchange Profile を設定する
subject_token_type と Action を 1 対 1 で対応付けます。Action には、特定のユースケース向けのロジックが含まれます。
特定の subject_token_type 値を指定して /oauth/token エンドポイントに送信された Custom Token Exchange リクエストは、対応する Custom Token Exchange Profile にマッピングされ、処理のために関連付けられた Action にルーティングされます。
Custom Token Exchange Profile を作成するには、次の手順を実行します。
プロファイル用の Action を作成する
subject_token_typeに基づいてsubject_tokenをデコードおよび検証します。これにより、このトランザクションにおけるユーザーに関する情報を取得できます。- トランザクションに必要な認可ポリシーを適用します。
- Actions > Library に移動します。
- Create Action > Build from Scratch を選択します。
- Create Action ダイアログで、名前を入力し、ドロップダウンから Custom Token Exchange トリガーを選択します。

- Create を選択します。
- Action を Deploy します。

- Auth0 Dashboard で Action ID を取得するには、ブラウザーウィンドウの URL を確認します。次の画像に示すように、Action ID は URL の最後の部分です。

/actions エンドポイントに対して次の GET リクエストを実行します。
actions[0].id. に Action ID が返されます。Custom Token Exchange Profile を作成するには、この Action ID が必要です。
Custom Token Exchange Profile を作成する
/token-exchange-profiles エンドポイントに対し、次のパラメーターを指定した POST リクエストを送信します。
Custom Token Exchange Profile の作成に成功すると、次のようなレスポンスが返されます。
Custom Token Exchange Profile を管理する
/token-exchange-profiles エンドポイントにリクエストを送信します。
すべての Custom Token Exchange Profile を取得するには、/token-exchange-profiles エンドポイントに対して次の GET リクエストを送信します。複数のプロファイルがある場合、/token-exchange-profiles エンドポイントではチェックポイントページネーションを使用できます。
subject_token_type を更新するには、/token-exchange-profiles エンドポイントに対して次の PATCH リクエストを送信します。
Action を作成した後は、Action ID を変更できません。
/token-exchange-profiles エンドポイントに対して次の DELETE リクエストを送信します。