メインコンテンツへスキップ
ユーザーがサポートされている外部プロバイダーで認証し、接続を承認すると、アプリケーションは Token Vault にアクセスして、Auth0 トークンを外部プロバイダーのアクセストークンと交換できます。 Token Vault を設定するには、次の手順を実行します。
  1. サポートされているソーシャル接続またはエンタープライズ接続に対して、Token Vault 用の Connected Accounts を設定します。
  2. Token Vault のグラントタイプを使用するように、アプリケーションを設定します。
  3. アプリケーションのトークン交換を設定します。
以前に Auth0 Dashboard で MFA ポリシーを Always に設定していた場合は、Token Vault からアクセストークンを取得するには Never に設定する必要があります。そうしないと、エラーが発生します。各 MFA ポリシーの詳細については、Auth0 Dashboard で MFA を有効にするを参照してください。インタラクティブなフローで MFA チャレンジをトリガーする必要がある場合は、テナントに MFA を設定する際に Customize MFA Factors using Actions を有効にします。その後、event.transaction.protocol プロパティに基づいて、Action を使用して MFA チャレンジをトリガーできます。詳細については、Universal Login の MFA 選択をカスタマイズするを参照してください。

Token Vault の Connected Accounts を設定する

Token Vault の Connected Accounts では、複数の外部アカウントにリンクされた統合 Auth0 ユーザープロファイルを管理します。その後、アプリケーションは Token Vault に保存された認証情報を取得し、ユーザーに代わって外部 API を操作できます。
アプリケーションで 組織 を使用している場合は、接続を設定したうえで、Connected Accounts フローを開始する前に、対象の組織に対してユーザーを認証してください。接続済みアカウントと保存されたトークンは、引き続きユーザーの Auth0 プロファイルに関連付けられます。
Connected Accounts は、サポートされているソーシャル接続およびエンタープライズ接続に対して設定できます。詳しくは、Connected Accounts を設定する を参照してください。

アプリケーションを設定する

または を使用して、アプリケーションで Token Vault のグラントタイプを設定します。 Token Vault のグラントタイプを使用できるのは、特定の種類のクライアントのみです。
  1. クライアントはファーストパーティクライアントである必要があります。つまり、is_first_party プロパティが true である必要があります。
  2. クライアントは有効な認証メカニズムを持つ confidential クライアントである必要があります。つまり、token_endpoint_auth_method プロパティが none に設定されていてはなりません。
  3. クライアントは OIDC 準拠である必要があります。つまり、oidc_conformanttrue である必要があります。
  1. Applications > Applications に移動します。
  2. 設定するアプリケーションを選択します。
  3. Advanced Settings > Grant Types で、Token Vault のグラントタイプを選択します。
  4. Save Changes を選択します。

トークン交換を設定する

外部プロバイダーのAPIを呼び出すには、アプリケーションで有効なAuth0トークンを、Token Vault から取得した外部プロバイダーのアクセストークンに交換する必要があります。交換に使用するAuth0トークンの種類は、クライアントの種類とユースケースによって異なります。詳細については、サポートされているトークン交換を参照してください。

リフレッシュトークン交換を設定する

Token Vault を使用したリフレッシュトークン交換を使用するには、アプリケーションで次のグラントタイプを設定する必要があります。
  • Authorization Code: アプリケーションで初回のユーザーログインを実行できるようにします。このフローでは、アプリケーションは一時的な認可 code を Auth0 のアクセストークン、リフレッシュトークン、IDトークンに交換します。
  • Refresh token: ユーザーが再度ログインしなくても、長期間有効な Auth0 リフレッシュトークンを使用して新しい Auth0 アクセストークンをリクエストできるようにします。
  • Token Vault: Auth0 リフレッシュトークンを、Token Vault に保存されている外部プロバイダーのアクセストークンと交換できるようにします。
リフレッシュトークン交換用にアプリケーションを設定するには、次の手順に従います。
  • Applications > Applications に移動します。
  • 設定するアプリケーションを選択します。
  • Advanced Settings > Grant Types で、Refresh TokenAuthorization CodeToken Vault のグラントタイプを選択します。
  • Save Changes を選択します。

アクセストークン交換を設定する

Token Vault を使用したアクセストークン交換を使用するには、次の設定が必要です。
  • authorization_code グラントタイプを使用して、SPA を設定します。
  • SPA がオーディエンスとして指定して Auth0 のアクセストークンをリクエストできるように、バックエンド API を作成します。
  • Token Vault グラントタイプを有効にし、バックエンド API に関連付けた Custom API Client を作成します。

SPA を設定する

authorization_code グラントタイプを使用するように SPA を設定します。これにより、SPA はバックエンド API 用のスコープが設定された Auth0 アクセストークンを Auth0 認可サーバーにリクエストできるようになります。
authorization_code グラントタイプを使用するように SPA を設定するには:
  • Applications > Applications に移動します。
  • 設定するアプリケーションを選択します。
  • Advanced Settings > Grant Types で、Authorization Code グラントタイプを選択します。
  • Save Changes を選択します。

バックエンド API を作成する

一意の識別子と必要なスコープを持つバックエンド API を作成します。この API は、Auth0 認可サーバーとアクセストークン交換を行います。
Auth0 Dashboard でバックエンド API を作成するには、次の手順を実行します。
  • Applications > APIs に移動し、Create API をクリックします。
  • API を作成するには、Register APIs の手順に従います。注: API の識別子は、一度設定すると後から変更できません。
  • Create をクリックします。
  • API を作成したら、その API にスコープを追加する必要があります。Permissions タブに移動します。Add a Permission でスコープを追加します。

Custom API Client を作成する

アクセストークン交換を行うには、バックエンド API に紐付けられた Custom API Client を作成する必要があります。SPA は、Auth0 認可サーバーへの認可リクエストでバックエンド API をオーディエンスとして指定することで、そのバックエンド API 用のアクセストークンをリクエストできるようになります。Custom API Client はバックエンド API と同じ識別子を持ち、Token Vault のグラントタイプが有効になっています。 バックエンド API がアクセストークン交換を実行する際は、Custom API Client の認証情報を Auth0 認可サーバーに渡して自身を認証し、Auth0 Dashboard に登録されているものと同一のエンティティであることを証明します。
Auth0 Dashboard で Custom API Client を作成するには、次の手順を実行します。
  • Applications > APIs に移動し、バックエンド API を選択します。
  • Add Application を選択し、アプリケーション名を入力します。
  • Add をクリックします。アプリケーションの作成が完了したら、Configure Application をクリックして Application Properties までスクロールします。Application Type は Custom API Client です。
  • Advanced Settings > Grant Types で、Custom API Client の Token Vault グラントタイプがすでに有効になっていることを確認します。
Custom API Client の作成が完了すると、ログイン後、ユーザーは SPA ではなくそのクライアントにリダイレクトされます。