Skip to main content
Rich Authorization Requests (RAR) を使用すると、クライアントは プッシュ型認可リクエスト (PAR) を使用した認可コードフロー および クライアント主導のバックチャネル認証フロー で、エンドユーザーなどの から データをリクエストして取得できます。 Rich Authorization Requests では authorization_details パラメータを使用します。このパラメータは JSON のオブジェクト配列を受け取り、リクエストしている認可に関する詳細情報 (たとえば、クライアントがユーザーに代わってアクセスしたい特定のリソースやアクションなど) を含めることができます。 リクエストされた authorization_details は、次のいずれかの方法でユーザーにレンダリングできます。 に対して Rich Authorization Requests を設定するには、次の作業が必要です。
  1. リソースサーバーの authorization_details タイプを登録 する。
  2. アプリがそれらのタイプをリクエストできるように、API Access ポリシーを設定 する。
  3. authorization_details をレンダリングするために、カスタマイズされた同意プロンプトを設定 する。
  4. 任意: リソースサーバーの同意ポリシーを設定 する。

authorization_details タイプを登録する

JSON配列内の各オブジェクトには、オブジェクトの構造を示す type フィールドが必要です。authorization_details 配列には、同じ type のエントリを複数含めることができます。

Auth0 Guardian app

Auth0 Guardian app を使用している場合、authorization_details パラメータの値には、配列内に 1 つのオブジェクトのみを含める必要があり、そのオブジェクトは次の Auth0 スキーマに準拠している必要があります。 以下は、Auth0 スキーマを使用した authorization_details タイプの例です。

その他の通知チャネル

Auth0 Guardian app を使用していない場合、authorization_details の type で Auth0 スキーマ を使用する必要はありません。authorization_details をカスタマイズされた同意プロンプト、または Auth0 Guardian SDK を使用する独自のモバイルアプリに表示する場合は、次の要件が適用されます。
  • 最大 5Kb
  • 有効な JSON であること
  • オブジェクトの配列であること
  • 配列内のエントリ数は最大 5
  • すべてのオブジェクトに type プロパティが必要 (API に事前登録されているもの)
  • オブジェクトごとのプロパティ数は最大 10
  • プロパティ名の最大文字数は 255
  • プロパティ値の最大文字数は 255
  • ネストされたオブジェクトは最大 5 階層
  • プロパティ名に使用できる文字は次のとおりです: a-zA-Z0-9_.-
以下は、Auth0 スキーマ を使用しない money_transfer type の authorization_details の例です。これには次のオブジェクト フィールドが含まれます。
  • instructedAmount: 送金される USD 建ての金額。
  • sourceAccount: 資金の送金元となる銀行口座。
  • destinationAccount: 資金の送金先となる銀行口座。
  • beneficiary: 送金の受取人。
  • subject: 送金の件名。
authorization_details type は、許可するスコープを登録するのと同様に、リソースサーバーに登録する必要があります。authorization_details type は、Auth0 Dashboard または Management API で登録できます。
Auth0 Dashboard で authorization_details を追加するには、次の手順を行います。
  1. Auth0 Dashboard > Applications > APIs に移動します。
  2. Permissions タブを選択します。
  3. Add an Authorization Details type で、リソースサーバーに複数の authorization_details type を追加できます。authorization_details type を入力します。
  4. +Add オプションを選択します。
リソースサーバーの authorization_details type は、List of Authorization Details Types で確認できます。

API Accessポリシーを設定する

API Access Policies for Applications では、どのアプリケーションが API にアクセスできるか、また、どのスコープまたは authorization_details タイプへのアクセスが許可されるかを制御できます。 Management API を使用すると、API の現在のポリシーを確認できます。リソースサーバーを取得するエンドポイントに GET リクエストを送り、レスポンスの subject_type_authorization プロパティを確認してください。
subject_type_authorization プロパティには、client.policyuser.policy の値を設定できます。
  • policy の値が allow_all の場合、アプリケーションまたはユーザーは、その API に登録されているすべての authorization_details タイプをリクエストできます。
  • policy の値が require_client_grant の場合、そのアプリケーションでは、各 authorization_details タイプがクライアントグラントによって明示的に許可されている必要があります。
  • policy の値が deny_all の場合、どのアプリケーションまたはユーザーも、その API に登録されている authorization_details タイプを一切リクエストできません。
アプリケーションのクライアントグラントの管理方法について詳しくは、API へのアプリケーションアクセス: クライアントグラント を参照してください。 同意プロンプトに、Rich Authorization Request の authorization_details をレンダリングできます。これを行うには、適切な template partials を使用して customized-consent prompt を設定します。 Auth0 CLI または Management API を使用して、カスタマイズされた同意プロンプトを設定できます。

Auth0 CLI

Customized Consent の partials を設定するには、ターミナルで適切なフラグを指定して auth0 ul customize コマンドを実行します。
詳しくは、auth0 universal-login customize のドキュメントをお読みください。

Management API

Customized Consent の partials を設定するには、/prompts/customized-consent/partials エンドポイントに PUT リクエストを送信します:
Customized Consent テンプレートは、Auth0 がエンドユーザーに表示する次の同意プロンプト内で authorization_details をレンダリングします。
CIBA と RAR フローでのメール通知では、ユーザーに承認画面または拒否画面を表示するため、同意プロンプトをカスタマイズする必要があります。
ユーザーが認証リクエストを承認する
ユーザーが認証リクエストを承認する
同意プロンプトをカスタマイズする方法について詳しくは、以下を参照してください。 リソースサーバーの同意ポリシーでは、Auth0 が authorization_details の値を保存し、プッシュ通知の送信時にそれらをモバイルアプリケーションで利用できるようにするかどうかを決定します。 authorization_details を含むリクエストに対する、Auth0 の標準の同意ポリシーの動作を確認してください。 お客様は、consent_policytransactional-authorization-with-mfa に設定することもできます。この場合の動作は次のとおりです。 リソースサーバーの同意ポリシーは、Auth0 Dashboard または Management API で設定できます。
Auth0 Dashboard を使用して、API の設定で同意ポリシーを設定します。
  1. Auth0 Dashboard > Applications > APIs に移動します。
  2. 設定 タブを選択します。
  3. Access Settings で、Standard 同意ポリシーを選択します。
  4. 変更を保存します。
Dashboard > Applications > APIs > Settings > Access Settings