2017年6月8日より、アドオンを使用していないテナントに対しては、デフォルトで委任が無効になります。委任を必要とするアドオンを使用中のレガシーテナントは、引き続きこの機能を使用できます。今後、委任機能が変更されるか、サービスから削除されることがあれば、使用中のお客様が余裕を持って移行できるよう、あらかじめお知らせします。
ターゲット
アプリケーションのシークレットで署名されたトークンを新たに生成します。これは、ユーザーのIDをアプリケーションからAPIに渡すために使用されます。
委任トークンの種類はプロバイダーによって異なります。たとえば、Azure Blob Storageに対して発行された場合は、SAS(Shared Access Signature)になります。Firebaseアドオンの場合はになります。
認証されたユーザーの ID トークンを/delegation
エンドポイントで使用して、特定のターゲットの委任トークンを要求できます。ターゲットは、Auth0で構成されたアプリケーションアドオンにすることができます。これを実行できるアドオンは、またはアドオンではないものです。アドオンは、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
として構成することが重要です。