Skip to main content
Rich Authorization Requests (RAR) を使用すると、クライアントは、エンドユーザーなどの から データを要求し、取得できます。  クライアントは、Authorization Code Flow の一部として、RAR データを Pushed Authorization Request (PAR) endpoint に渡すことができます。詳細については、Configure Pushed Authorization Requests を参照してください。 従来の フローでは、クライアントが スコープ を使用して へのアクセスを要求すると、リソースオーナーはそれらのリソースへのアクセスをクライアントに許可します。Rich Authorization Request では、クライアントは /par endpoint に authorization_details パラメーターを渡すことで、スコープで要求するものよりもさらに細かな権限を要求できます。これにより、クライアントとリソースオーナーの双方がリソースへのアクセスをよりきめ細かく制御できるようになり、アクセスの過剰付与に伴うセキュリティリスクを軽減できます。 Auth0 では authorization_details の type の検証のみがサポートされるため、authorization_details 内の JSON オブジェクトについては自分で検証を実装する必要があります。詳細については、Configure Rich Authorization Requests を参照してください。

仕組み

Rich Authorization Request では、authorization_details パラメーターはオブジェクトの JSON 配列であり、各要素には文字列で表される type フィールドを含める必要があります。type フィールドは、オブジェクト内でカスタマイズできるフィールドを決定します。authorization_details 配列には、同じ type のエントリを複数含めることができます。authorization_detailstype の登録方法の詳細については、Configure Rich Authorization Requests を参照してください。 Auth0 は、ユーザーがカスタムの同意画面で認可できるように authorization_details を表示します。詳細については、Set customized consent prompt を参照してください。 authorization_details パラメーターは /par エンドポイントに渡す必要があります。これにより、Auth0 の type の早期検証を実行できるようになります。/par エンドポイントは、ブラウザーなどのフロントチャネルで機密データが漏えいするのを防ぐため、認可リクエストをバックチャネル経由で渡します。認可リクエストを /par エンドポイントに渡すと、アプリケーションは /authorize エンドポイントにリダイレクトし、その後 Authorization Code Flow に進みます。詳細については、Authorization Code Flow with PAR を参照してください。 Authorization Code Flow を完了するには、次の例のように /oauth/token エンドポイントで認可コードを交換します。
成功すると、authorization_details 配列を含むレスポンスを受け取ります。
JWT のベストプラクティスの一環として、クライアントは authorization_details を使用することで、アクセストークンを確認しなくても、自身に付与された認可のスコープを把握できます。要求された JWE アクセストークン を必要とする API の場合、/oauth/token エンドポイントは、authorization_details から type を除くすべてのオブジェクトフィールドを省略したレスポンスを返します。レスポンス内のアクセストークンのクレームには影響ありません。

Authorization Code Flow 用に RAR を設定する

Authorization Code Flow で Rich Authorization Requests を設定する前に、以下を実施する必要があります。 Authorization Code Flow で RAR を設定するには、以下が必要です。
  • リソースサーバーの authorization_details タイプを登録する。
  • カスタマイズした consent プロンプトを設定する。
詳しくは、Rich Authorization Requests を設定する を参照してください。

Actions で authorization_details にアクセスする

Auth0 は、Actions を使用した RAR の更新をサポートしていません。
Auth0 では、post-login Actionevent.transaction.requested_authorization_details プロパティを通じて authorization_details パラメーターを利用できます。Action ではこのプロパティを参照して、MFA チャレンジ でユーザーにトランザクションの詳細を表示できます。

Auth0 でサポートされていないこと

Auth0 では、次の機能はサポートされていません。
  • Actions を使用した RAR の更新
  • クライアントが検出できるように RAR タイプを公開すること
  • API で許可されているタイプと一致する type プロパティを持っているかどうかの確認を超える、RAR オブジェクトの検証。詳細については、RAR を設定するを参照してください。

詳細