Rich Authorization Requests
Rich Authorization Requests (RAR) is an extension to OAuth 2.0 that lets an application describe exactly what access it needs using structured data rather than simple, coarse permission labels. For example, instead of just asking for broad access, a client can specify the precise actions, resources, or limits it wants. This gives finer-grained control over what a user is being asked to authorize.
RAR is an OAuth 2.0 extension, standardized in RFC 9396, that introduces the authorization_details request parameter to carry fine-grained, structured authorization data in OAuth messages. Rather than relying solely on the space-delimited scope parameter, a client conveys one or more JSON objects, each typically including a type field and additional type-specific fields, to express the exact access being requested. As an authorization mechanism, RAR concerns what a client may be granted and does not itself perform user authentication; it is commonly used within flows such as the authorization code flow, where the resulting authorization data may be reflected in issued tokens. The specific structure and interpretation of each authorization_details object depend on the type definitions agreed upon in a given deployment or profile, so exact semantics are configuration- and API-dependent.
Why it matters
The traditional OAuth 2.0 scope parameter is a coarse instrument. A scope like payments or account.write conveys a broad category of access but cannot express constraints such as a specific payee, a transaction amount limit, or a single named resource. In deployments where the difference between broad and narrow access carries real financial or privacy consequences, payment initiation, healthcare records, or high-value administrative operations, this coarseness forces clients to request more than they need and leaves resource owners consenting to something vaguer than the actual intended action. RAR, standardized in RFC 9396, addresses this by letting a client describe the exact access it wants as structured JSON in the authorization_details parameter, enabling authorization decisions and consent prompts that reflect the specific action, resource, or limit at stake.
Who it's relevant to
Inside RAR
Common questions
Answers to the questions practitioners most commonly ask about RAR.
