委任トークン
委任トークンは、アプリケーションがFirebaseやSAPなどのアプリケーションアドオンのAPIを呼び出す必要があるときに取得して使用することができます。その場合、アドオンはAuth0で登録と構成が済まされ、呼び出しているプログラムと同じテナントになければなりません。
既存のトークンが渡されると、このエンドポイントは、ターゲット
アプリケーションのシークレットで署名されたトークンを新たに生成します。これは、ユーザーのIDをアプリケーションからAPIに渡すために使用されます。
委任トークンの種類はプロバイダーによって異なります。たとえば、Azure Blob Storageに対して発行された場合は、SAS(Shared Access Signature)になります。Firebaseアドオンの場合はJWTになります。
認証されたユーザーの ID トークンを/delegation
エンドポイントで使用して、特定のターゲットの委任トークンを要求できます。ターゲットは、Auth0で構成されたアプリケーションアドオンにすることができます。これを実行できるアドオンは、SAMLまたはWS-Fedアドオンではないものです。アドオンは、Firebaseなどのアドオンサービスから取得したシークレットを使用してAuth0で構成する必要があります。設定手順シークレットは、各アドオンのアドオン設定ページから入手できます。シークレットは、アドオンAPIがトークンを検証して信頼できるように、委任トークンに署名するために使用されます。
委任エンドポイントでは、委任トークンの内容を制御するターゲット
、スコープ
、呼び出される API(api_type
)、および追加のパラメータ用の追加の自由形式領域を含む、いくつかのパラメータを設定できます。
Auth0.jsの例
新しいトークンを取得する方法の例については、Auth0.jsを使用してアクティブ化したアドオンについて「委任トークンの要求」を参照してください。この例はAuth0.jsライブラリのバージョン7用であり、委任はAuth0.jsのバージョン 8 ではサポートされていないことに注意してください。
有効期間と終了
有効期間と委任トークンを取り消すことができるかどうかは、アドオンによって異なります。詳細については、アドオンAPIのプロバイダーから入手できるドキュメントを参照してください。
パブリックアプリケーションで委任トークンを使用する
パブリックアプリケーションで委任エンドポイントを使用する際に注意すべき重要な注意事項があります。
パブリックアプリケーションから/token
エンドポイントを呼び出すと、アプリケーション設定のJsonWebToken署名アルゴリズムがHS256
として構成されている場合でも、IDトークンはRS256
を使用して強制的に署名されます。
その後、そのIDトークンを使用して委任エンドポイントを呼び出すと、アプリケーションのJsonWebToken署名アルゴリズムがHS256
として構成されている場合は失敗します。これは、委任がアプリケーションの設定に従って検証を実行するが、IDトークンが別のアルゴリズムで発行されたためです。
強制的なアルゴリズムの変更のためです。したがって、パブリックアプリケーションで委任を使用する場合は、アプリケーションのJsonWebToken署名アルゴリズムをRS256
として構成することが重要です。