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

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

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

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