Skip to main content
Rich Authorization Requests (RAR) を使用すると、クライアントは Authorization Code Flow with Pushed Authorization Requests (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 アプリ

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

その他の通知チャネル

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

API Access ポリシーを設定する

アプリケーション向け API Access ポリシーでは、どのアプリケーションが 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 タイプを一切リクエストできません。
アプリケーションのクライアントグラントの管理方法について詳しくは、Application Access to APIs: Client Grants を参照してください。 同意プロンプトで、Rich Authorization Request の authorization_details をレンダリングできます。そのためには、適切なテンプレート partials を使用して customized-consent プロンプトを設定します。 カスタマイズした同意プロンプトは、Auth0 CLI または Management API を使用して設定できます。

Auth0 CLI

カスタマイズした consent partials を設定するには、ターミナルで適切なフラグを付けて auth0 ul customize コマンドを実行します。
詳しくは、auth0 universal-login customize ドキュメントを参照してください。

Management API

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