メインコンテンツへスキップ
Token Vault は、アプリケーションがユーザーに代わって外部 API にアクセスする仕組みをシンプルにします。Token Vault と統合することで、Google、GitHub、Microsoft など、幅広い外部サービスとその API へのアプリケーションアクセスを安全に管理できます。 ユーザーが対応する外部プロバイダーに接続し、 スコープを使用してアクセスを認可すると、Auth0 はその接続済みアカウントをユーザープロファイルに自動的に追加します。接続済みアカウントを使用すると、アプリケーションは統一された Auth0 ユーザープロファイルを通じて外部 API にアクセスできます。詳しくは、Connected Accounts for Token Vault を参照してください。 Auth0 は、接続済みアカウントごとのアクセストークンとリフレッシュトークンを Token Vault に保存します。アプリケーションが Token Vault からこれらの保存済み認証情報を取得するには、セキュアなトークン交換を実行します。このトークン交換により、アプリケーションは外部 API の呼び出しに必要なトークンを取得できるため、プロバイダーごとにカスタム統合を構築して維持する必要がなくなります。

サポート対象の外部プロバイダー

Token Vault は、次の主要な外部プロバイダーに対応しています。

ソーシャル

  • Google
  • Microsoft
  • Box
  • Slack
  • GitHub
  • カスタムのソーシャル接続

エンタープライズ

  • Google Workspace
  • Microsoft Azure AD (Entra ID)
  • Connect
サポートされている外部プロバイダーの一覧は、Auth0 Integrationsを参照してください。

一般的な Token Vault のユースケース

一般的な Token Vault のユースケースには、次のようなものがあります。
  • Web アプリケーションとして動作する AI エージェントが、Google Calendar で会議を予定するなど、ユーザーに代わってタスクを実行するために外部 API を呼び出します。
  • 内部サービスやバックエンドサービスは、外部 API を呼び出すために、Token Vault にアクセスして Auth0 アクセストークンを外部プロバイダーのアクセストークンに交換できます。

仕組み

ユーザーがサポート対象の外部プロバイダーに接続し、その接続を承認すると、次のように動作します。
  • Auth0 は、ユーザーが要求された権限を明示的に承認したうえで、OAuth 2.0 のスコープを使用してアクセストークンとリフレッシュトークンを取得します。
  • Auth0 は、各接続済みアカウントのトークンを Token Vault に安全に保存します。各接続済みアカウントはユーザープロファイルに関連付けられているため、アプリケーションはユーザーに接続の再承認を求めることなく、外部 API やサービスを利用できます。
  • アプリケーションは Auth0 にリクエストして、ユーザーの有効な Auth0 トークンを、そのユーザーに対して発行された外部プロバイダーのアクセストークンに交換します。詳しくは、対応しているトークン交換を参照してください。
  • その後、アプリケーションは外部プロバイダーのアクセストークンを使用して、ユーザーに代わって外部 API を呼び出すことができます。

組織と併用する

アプリケーションで 組織 を使用している場合は、まず対象の組織でユーザーを認証してから、使用する外部プロバイダーに対する Connected Accounts フローを開始します。 Token Vault を組織と併用する場合:
  • 組織は、セッションにおけるログイン、ブランディング、アクセス ポリシーのコンテキストを定義します。
  • Connected Accounts は引き続き、外部プロバイダーを個々の Auth0 ユーザー プロファイルにリンクします。
  • 各組織メンバーは、それぞれ自身の外部アカウントを接続し、認可します。Token Vault が組織で共有するアカウントを作成することはありません。

サポートされているトークン交換

外部プロバイダーの API を呼び出すには、アプリケーションは有効な Auth0 トークンを、Token Vault から取得する外部プロバイダーのアクセストークンに交換する必要があります。交換に使用する Auth0 トークンの種類は、クライアントアプリケーションの種類とユースケースによって異なります。 アプリケーションは、以下のトークン交換を使用して Token Vault にアクセスできます。
トークン交換説明クライアントアプリケーションの種類
リフレッシュトークン交換Auth0 リフレッシュトークンを外部プロバイダーのアクセストークンに交換します。ユーザーのセッションを維持し、Web、モバイル、ネイティブアプリケーションなど、ユーザーがアプリケーションをアクティブに使用していない間も外部 API にアクセスする必要があるアプリケーション。
アクセストークン交換Auth0 アクセストークンを外部プロバイダーのアクセストークンに交換します。Single-Page Application (SPA) など、他のサービスやアプリケーションから受け取ったアクセストークンを交換する必要がある API やマイクロサービス。
特権ワーカートークン交換署名付き JWT ベアラートークンを外部プロバイダーのアクセスまたはリフレッシュトークンに交換します。サービス間 (M2M) フローのバックエンドアプリケーションまたはサービスワーカー。

はじめに

Token Vault を使い始めるには、以下を参照してください。
参照先内容
Connected Accounts for Token VaultToken Vault の Connected Accounts を設定して使用する方法。
Refresh Token Exchange with Token Vaultアプリケーションが Token Vault のリフレッシュトークン交換を使用して外部 API を呼び出す方法。
Access Token Exchange with Token Vaultアプリケーションが Token Vault のアクセストークン交換を使用して外部 API を呼び出す方法。
Privileged Worker Token Exchange with Token Vaultアプリケーションが Token Vault の特権ワーカートークン交換を使用して外部 API を呼び出す方法。
Configure Token Vaultトークン交換を含む Token Vault の設定方法。