> ## Documentation Index
> Fetch the complete documentation index at: https://developers.authlete.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Rich Authorization Requests (RAR)

> RFC 9396 Rich Authorization Requests (RAR) 仕様の概要

## はじめに

[RFC 9396: OAuth 2.0 Rich Authorization Requests (RAR)](https://www.rfc-editor.org/rfc/rfc9396) は OAuth 2.0 の Proposed Standard 拡張仕様です。クライアントは従来の「スコープ」よりも細かな粒度の認可要件を JSON 構造で指定できるようになります。

## RAR とは

リソースオーナーがサードパーティに付与した権限を表現するために、[OAuth 2.0 認可フレームワーク](https://datatracker.ietf.org/doc/html/rfc6749) は「スコープ」というしくみを導入しました。スコープに対し特定の意味を与えることにより、権限や機能オプションを表現できるようになります。

たとえば OpenID Connect 仕様では、"profile" のようなスコープを、"openid" スコープと同時に定義しています。"profile" スコープは、ユーザープロファイルの[特定の属性](https://openid.net/specs/openid-connect-core-1_0.html#ScopeClaims) へのアクセス権限を、サードパーティに付与します。一方の "openid" スコープはセマンティクスが異なり、ID トークンの生成と UserInfo エンドポイントへのアクセス権限を意味します。

OAuth2 が普及するにつれて、新たなユースケースが登場し、それに対する新たなソリューションが必要となっています。RAR 仕様は、サードパーティがユーザーの承認を得る際にどのようなコンテキスト・意図があるかを示す必要があるケースに対処するものです。たとえば、オンライン決済や、ファイル共有、健康診断の結果などです。

### RAR の構造

RAR は共通の JSON 構造を定義しています。この構造を用いて、より細かな粒度の権限を表現できます。それぞれの権限には、"type" 属性と、オプションである "locations" "actions" "datatypes" "identifier" "privileges" 属性、そして独自に定義された属性があります。詳細については [Request parameter "authorization\_details"](https://datatracker.ietf.org/doc/html/draft-ietf-oauth-rar#section-2)
セクションをご参照ください。

"type" 属性とそのセマンティクス（表現する内容や、その組み立て方、エンドユーザーに対する意図、そして属性間の関係など）をどう定義するかは、認可サーバー、もしくは認可サーバーが属するエコシステムに任されています。これにより、エンドユーザーに要求する権限を正確に定義できるようになります。

"locations" 属性は [Resource Indicators 機構](https://www.authlete.com/ja/kb/oauth-and-openid-connect/authorization-requests/resource-indicator)
と同じコンセプトであり、権限がどのリソースサーバー (の URI) に関するものかを指定するものです。"identifier" 属性は権限要求時に、特定リソースの指定に使えます。端的に言えば、"locations" はリソース群を示し、"identifier" は単一のリソースを指します。

"actions" は「動作」、たとえばファイルシステム上でのアクションや、銀行口座に関する操作、医療機器の制御、家電の挙動、データベースの権限などの表現に使えます。

"datatypes" と "privileges" は、要求する権限の特性を示す際に用います。

## Authlete での設定

[RAR の利用](/ja/configuration-reference/tokens-and-claims/rich-authorization-requests-rar)をご参照ください。
