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

仕組み

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

認可コードフロー向けにRARを構成

認可コードフロー用のRich Authorization Requestsを構成する前に、次の作業を行う必要があります。 認可コードフロー向けにRARを構成するには、次の作業が必要です。
  • リソースサーバーに authorization_details タイプを登録します。
  • カスタマイズした同意プロンプトを設定します。
詳しくは、Rich Authorization Requests を設定するを参照してください。

Actions で authorization_details にアクセスする

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

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

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

詳細はこちら