Skip to main content
ユーザーがサポート対象の外部プロバイダーで認証し、接続を承認すると、アプリケーションは Token Vault にアクセスして、Auth0トークンを外部プロバイダーのアクセストークンと交換できます。 Token Vault を設定するには、次の設定が必要です。
  1. サポート対象のソーシャル接続またはエンタープライズ接続に対して、Connected Accounts for Token Vault を設定します。
  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 選択をカスタマイズするをお読みください。

Connected Accounts for Token Vault を設定する

Connected Accounts for Token Vault では、複数の外部アカウントにリンクされた一元的な Auth0 ユーザープロファイルを管理します。その後、アプリケーションは Token Vault に保存された資格情報を取得し、ユーザーに代わって外部 API を利用できます。
アプリケーションで Organizations を使用している場合は、Connected Accounts フローを開始する前に接続を設定し、対象の organization でユーザーを認証してください。接続済みアカウントと保存されたトークンは、引き続きユーザーの Auth0 プロファイルに紐付けられたままです。
Connected Accounts は、サポート対象のソーシャル接続およびエンタープライズ接続に対して設定できます。詳しくは、Configure Connected Accounts をご覧ください。

アプリケーションを設定

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

トークン交換を設定する

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

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

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

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

Token Vault を使用したアクセストークン交換を利用するには、次の設定が必要です。

SPA を設定する

authorization_code グラントタイプで SPA を設定します。これにより、SPA は Auth0 Authorization Server から、バックエンド API に対してスコープが設定された Auth0 アクセストークンをリクエストできるようになります。
authorization_code グラントタイプで SPA を設定するには:
  • アプリケーション > アプリケーション に移動します。
  • 設定するアプリケーションを選択します。
  • Advanced Settings > Grant Types で、認可コード グラントタイプを選択します。
  • 変更を保存 を選択します。

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

Auth0 Authorization Server とアクセストークン交換を行うために、一意の識別子と必要なスコープを持つバックエンド API を作成します。
Auth0 Dashboard でバックエンド API を作成するには、次の手順に従います。
  • アプリケーション > APIs に移動し、Create API をクリックします。
  • API を作成するには、API を登録する の手順に従ってください。注: API の識別子は、一度設定すると変更できません。
  • Create をクリックします。
  • API を作成したら、その API にスコープを追加する必要があります。Permissions タブに移動し、Add a Permission でスコープを追加します。

カスタム API クライアント を作成する

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