- 前提条件を満たす
- アプリケーションでカスタムトークン交換を有効にする
- カスタムトークン交換プロファイルを設定し、管理する
前提条件
カスタムトークン交換を設定する前に、アプリケーションが以下の前提条件を満たしていることを確認してください。- ファーストパーティ クライアントである
- OIDC 準拠である
アプリケーションでカスタムトークン交換を有効にする
カスタムトークン交換は複数のアプリケーションで有効にできます。デフォルトでは無効になっています。有効にするには、次の手順を実行します。- Auth0 Dashboard
- Management API
- アプリケーション > アプリケーション に移動し、対象のアプリケーションを選択します。
- 設定 タブを選択します。
- カスタムトークン交換 を見つけてオンにします。
- 保存 を選択します。
インポートモードが
ON のカスタム DB は、setUserById() 操作でのみサポートされます。/oauth/token エンドポイントを呼び出す際に使用するため、アプリケーションの client_id と client_secret を控えておきます。
カスタムトークン交換プロファイルを設定する
各カスタムトークン交換プロファイルは、subject_token_type と、特定のユースケースのコードロジックを含む Action との間に 1 対 1 のマッピングを定義します。
特定の subject_token_type 値を含む /oauth/token エンドポイントへのカスタムトークン交換リクエストは、対応するカスタムトークンプロファイルにマッピングされ、処理のために関連付けられた Action にルーティングされます。
Custom Token Exchange の Event オブジェクトと API オブジェクトを使用して、プロファイルに関連付けられた Action を作成します。Action では、次の処理を行う必要があります。
subject_token_typeに基づいてsubject_tokenをデコードし、検証します。これにより、トランザクションにおけるユーザー情報を取得できます。- トランザクションに適用する必要がある認可ポリシーを適用します。
subject_token_type は、https:// または urn で始まる一意の URI である必要があります。次の名前空間は予約されているため使用できません: http://auth0.com, https://auth0.com, http://okta.com, https://okta.com, urn:ietf, urn:auth0, urn:okta。- Auth0 Dashboard
- Management API
- Authentication > カスタムトークン交換に移動し、Create Profileを選択します。
- Create Profileダイアログで、以下を行います。
- プロファイルのNameを入力します。
- 一意のSubject Token Typeを入力します。
- このプロファイルに関連付けるActionの設定方法を選択します。
- Start from scratch: 新しいActionのNameを入力します。プロファイルを作成すると、Auth0によりカスタムトークン交換トリガーに紐付けられた空のActionが作成されます。
- Create from Template: Action Templateを選択します。Auth0により、テンプレートのコードがあらかじめ入力された新しいActionが作成されます。
- Use existing: カスタムトークン交換トリガーにすでに紐付けられている既存のActionを選択します。
- Createを選択します。Auth0によりプロファイルが作成され、新しいActionまたはテンプレートからActionを作成することを選択した場合は、そのActionも作成されます。その後、プロファイルのDetailsページが表示されます。
- Detailsページで、以下を行います。
- 必要に応じて、プロファイルのNameまたはSubject Token Typeを編集します。
- 必要に応じて、関連付けられたActionのNameを編集します。
- インラインコードエディターで、関連付けられたActionのコードを編集します。下書きを保存するにはSaveを、Actionの新しいバージョンをデプロイするにはDeployを選択します。
プロファイルの作成後は、関連付けるActionを変更できません。
カスタムトークン交換プロファイルを管理する
- Auth0 Dashboard
- Management API
- Authentication > Custom Token Exchange に移動すると、各プロファイルの Name、Subject Token Type、Action ID を含むカスタムトークン交換プロファイルの一覧が表示されます。
- プロファイルを選択して Details ページを開くと、Name、Subject Token Type、および関連付けられた Action の Name とコードを編集できます (上記の「カスタムトークン交換プロファイルを設定する」を参照) 。
- プロファイルを削除するには、一覧でプロファイルの横にあるオプションメニュー (3点アイコン) を選択し、Delete を選択します。
カスタムトークン交換プロファイルに関連付けられた Action を単独で削除することはできません。先にプロファイルを削除し、その Action が不要になった場合は削除してください。