> ## Documentation Index
> Fetch the complete documentation index at: https://translations.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> Auth0 における委任トークンの仕組みについて説明します。

# 委任トークン

<Warning>
  デフォルトでは、2017 年 6 月 8 日時点で使用中のアドオンがないテナントでは、委任は無効になっています。現在、委任を必要とするアドオンを使用しているレガシーテナントは、この機能を引き続き利用できます。今後、委任機能が変更またはサービスから削除される場合は、現在利用中のお客様に事前に通知し、移行のための十分な期間を設けます。
</Warning>

委任トークンは、アプリケーションが、呼び出し元プログラムと同じテナント内で Auth0 に登録および設定された Firebase や SAP などの Application Add-on の API を呼び出す必要がある場合に、取得して使用します。

既存のトークンがある場合、このエンドポイントは `target` アプリケーションのシークレットで署名された新しいトークンを生成します。これは、アプリケーションから API にユーザーの ID を受け渡すために使用されます。

委任トークンの種類はプロバイダーによって異なります。たとえば、Azure Blob Storage 向けに発行される場合は SAS (Shared Access Signature) になります。Firebase Add-on 向けであれば、<Tooltip tip="JSON Web Token (JWT): 2 者間で claims を安全に表現するために使用される標準的な IDトークン形式（および多くの場合はアクセストークン形式）。" cta="用語集を表示" href="/ja/docs/glossary?term=JWT">JWT</Tooltip> になります。

認証済みユーザーの <Tooltip tip="ID Token: リソースへのアクセスではなく、クライアント自体のための認証情報です。" cta="用語集を表示" href="/ja/docs/glossary?term=ID+token">IDトークン</Tooltip> は、特定のターゲット向けの委任トークンをリクエストするために `/delegation` エンドポイントで使用できます。ターゲットには、Auth0 で設定された Application Add-on を指定できます。これを実行できる Add-on は、<Tooltip tip="Security Assertion Markup Language (SAML): パスワードなしで 2 者間の認証情報のやり取りを可能にする標準化プロトコルです。" cta="用語集を表示" href="/ja/docs/glossary?term=SAML">SAML</Tooltip> または <Tooltip tip="Security Assertion Markup Language (SAML): パスワードなしで 2 者間の認証情報のやり取りを可能にする標準化プロトコルです。" cta="用語集を表示" href="/ja/docs/glossary?term=WS-Fed">WS-Fed</Tooltip> Add-on 以外です。Add-on は、Firebase などの Add-on サービスから取得したシークレットを使用して Auth0 で設定されている必要があります。シークレットの設定手順は、各 Add-on の設定ページで確認できます。これらのシークレットは委任トークンの署名に使用され、Add-on API がトークンを検証して信頼できるようにします。

委任エンドポイントでは、`target`、`scope`、呼び出す API (`api_type`) 、および追加パラメーター用の自由形式の領域など、委任トークンの内容を制御する複数のパラメーターを設定できます。

<div id="auth0js-example">
  ## Auth0.js の例
</div>

有効化した Add-on の新しいトークンを **Auth0.js** を使用して取得する方法については、「Delegation Token Request」を参照してください。なお、この例は **Auth0.js** ライブラリの **バージョン 7** を対象としています。**Auth0.js** の **バージョン 8** では、委任 は**サポートされていません**。

<div id="validity-period-and-termination">
  ## 有効期間と失効
</div>

有効期間と、委任トークンを失効できるかどうかは、Add-on ごとに異なります。詳しくは、各 Add-on API の提供元が公開しているドキュメントを参照してください。

<div id="use-delegation-tokens-with-public-applications">
  ## 公開アプリケーションで 委任 トークンを使用する
</div>

公開アプリケーションで 委任 エンドポイントを使用する際は、重要な注意点があります。

公開アプリケーションから `/token` エンドポイントを呼び出すと、Application Settings の JsonWebToken Signature Algorithm が `HS256` に設定されていても、IDトークン は強制的に `RS256` で署名されます。

その後、その IDトークン を使って 委任 エンドポイントを呼び出すと、アプリケーションの JsonWebToken Signature Algorithm が `HS256` に設定されている場合は失敗します。これは、委任 ではアプリケーションの設定に従って検証が行われる一方、IDトークン はアルゴリズムが強制的に変更されたため、別のアルゴリズムで発行されているためです。

そのため、公開アプリケーションで 委任 を使用する場合は、アプリケーションの JsonWebToken Signature Algorithm を `RS256` に設定することが重要です。
