<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.39 (Ruby 3.4.9) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-zehavi-oauth-rar-metadata-06" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.34.0 -->
  <front>
    <title abbrev="OAuth 2.0 RAR Metadata and Error Remediation">OAuth 2.0 RAR Metadata and Error Remediation</title>
    <seriesInfo name="Internet-Draft" value="draft-zehavi-oauth-rar-metadata-06"/>
    <author fullname="Yaron Zehavi">
      <organization>Raiffeisen Bank International</organization>
      <address>
        <email>yaron.zehavi@rbinternational.com</email>
      </address>
    </author>
    <date year="2026" month="August" day="09"/>
    <area>Security</area>
    <workgroup>Web Authorization Protocol</workgroup>
    <keyword>RAR</keyword>
    <keyword>Step-up</keyword>
    <keyword>oauth</keyword>
    <abstract>
      <?line 54?>

<t>OAuth 2.0 Rich Authorization Requests (RAR) <xref target="RFC9396"/> standardizes the exchange and processing of authorization details but does not define metadata for describing authorization details types.</t>
      <t>In addition, no interoperable guidance is offered to clients, to remediate failures by resource servers due to insufficient authorization details.</t>
      <t>This document addresses this interoperability challenge, allowing clients to dynamically discover metadata instead of relying on out-of-band agreements, as well as standardizes failure signaling including interoperable remediation when insufficient authorization details are the cause of failure.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://yaron-zehavi.github.io/oauth-rich-authorization-requests-metadata/draft-zehavi-oauth-rar-metadata.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-zehavi-oauth-rar-metadata/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        Web Authorization Protocol Working Group mailing list (<eref target="mailto:oauth@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/oauth/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/oauth/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/yaron-zehavi/oauth-rich-authorization-requests-metadata"/>.</t>
    </note>
  </front>
  <middle>
    <?line 62?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>OAuth 2.0 Rich Authorization Requests (RAR) <xref target="RFC9396"/> allows OAuth clients to request detailed and structured authorization, enabling advanced authorization models across domains such as banking and healthcare.</t>
      <t>However, RAR <xref target="RFC9396"/> does not specify how clients discover metadata describing valid authorization details objects. Such metadata and documentation are obtained out-of-band.</t>
      <t>This document defines:</t>
      <ul spacing="normal">
        <li>
          <t>A new authorization server endpoint: <tt>authorization_details_types_metadata_endpoint</tt>, providing authorization details type metadata, including documentation and JSON Schema definitions <xref target="JSON.Schema"/>.</t>
        </li>
        <li>
          <t>A new normative OAuth 2.0 WWW-Authenticate Error Code, for resource servers to indicate <tt>insufficient_authorization</tt> as the cause of the error.</t>
        </li>
        <li>
          <t>A new OAuth 2.0 WWW-Authenticate response parameter, <tt>authorization_remediation</tt>, providing actionable authorization details objects, to be used directly for remediation in a follow-up OAuth request.</t>
        </li>
        <li>
          <t>Authorization server considerations for when RAR authorization details objects should perhaps be omitted from JWT access tokens and provided instead through token instrospection.</t>
        </li>
      </ul>
      <t>Providing clients with actionable authorization details objects enables:</t>
      <ul spacing="normal">
        <li>
          <t>Interoperability benefit as clients can simply and directly proceed to remediate, without first learning how to construct valid authorization details objects.</t>
        </li>
        <li>
          <t>Support for ephemeral, interaction-specific attributes included by the resource server, such as a risk profile or an internal interaction identifier, guiding authorization servers on the required authentication strength and consent flows.</t>
        </li>
      </ul>
    </section>
    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</name>
      <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
      <?line -18?>

</section>
    <section anchor="protocol-overview">
      <name>Protocol Overview</name>
      <t>Client remediates using actionable authorization details objects provided by resource server:</t>
      <artwork type="ascii-art"><![CDATA[
                                                +--------------------+
             +----------+ (B) API Request       |                    |
             |          |---------------------->|      Resource      |
(A) User +---|          |                       |       Server       |
   Starts|   |          |<----------------------|                    |
   Flow  +-->|  Client  | (C) 401 Unauthorized     +--------------------+
             |          |     WWW-Authenticate: Bearer
             |          |     error="insufficient_authorization",
             |          |     error_description=[human readable message],
             |          |     authorization_remediation=[required
             |          |     authorization_details]
             |          |        :
             |          |        :              +--------------------+
             |          |        :              |   Authorization    |
             |          | (D) Authorization     |      Server        |
             |          |     Request + RAR     |+------------------+|
             |          |---------------------->||                  ||
             |          |                       ||  Authorization   ||
             |          |<----------------------||    Endpoint      ||
             |          | (E) Authorization Code||                  ||
             |          |        :              |+------------------+|
             |          |        :              |                    |
             |          | (F) Token Request     |+------------------+|
             |          |---------------------->||                  ||
             |          |                       || Token Endpoint   ||
             |          |<----------------------||                  ||
             |          | (G) Access Token      |+------------------+|
             |          |        :              +--------------------+
             |          |        :
             |          |        :
             |          | (H) Retry API Call    +--------------------+
             |          |     with Token        |                    |
             |          |---------------------->|      Resource      |
             |          |                       |       Server       |
             |          |<----------------------|                    |
             |          | (I) 200 OK + Resource +--------------------+
             |          |
             +----------+
]]></artwork>
      <t>Figure: Client remediates using actionable authorization details objects provided by resource server</t>
      <ul spacing="normal">
        <li>
          <t>(A) The user starts the flow.</t>
        </li>
        <li>
          <t>(B) The client calls an API with an access token.</t>
        </li>
        <li>
          <t>(C) Resource server returns HTTP 401 with a WWW-Authenticate header with error code <tt>insufficient_authorization</tt> and in <tt>authorization_remediation</tt> the <strong>required authorization details objects</strong>.</t>
        </li>
        <li>
          <t>(D) The client uses the provided authorization details objects in a new OAuth + RAR <xref target="RFC9396"/> request.</t>
        </li>
        <li>
          <t>(E) Authorization server returns authorization code.</t>
        </li>
        <li>
          <t>(F-G) The client exchanges authorization code for access token.</t>
        </li>
        <li>
          <t>(H) The client makes an API request with the (RAR) access token.</t>
        </li>
        <li>
          <t>(I) Resource server validates access token and returns successful response.</t>
        </li>
      </ul>
    </section>
    <section anchor="remediation-of-failures-due-to-insufficient-authorization">
      <name>Remediation of failures due to insufficient authorization</name>
      <t>This document defines:</t>
      <ul spacing="normal">
        <li>
          <t>The authentication error code <tt>insufficient_authorization</tt> for the <tt>WWW-Authenticate</tt> header. Resource servers <bcp14>SHOULD</bcp14> return <tt>insufficient_authorization</tt> when access is denied due to missing or insufficient authorization details.</t>
        </li>
        <li>
          <t>The <tt>authorization_remediation</tt> error parameter, which contains a base64url-encoded JSON object guiding the client on remediating the error. Its attributes are:  </t>
          <ul spacing="normal">
            <li>
              <t><tt>authorization_details</tt>: <bcp14>RECOMMENDED</bcp14>. Array of actionable authorization details objects, matching the format specified in RAR <xref target="RFC9396"/> for the <tt>authorization_details</tt> request parameter, built using the failed resource request. Their inclusion in successful new OAuth grant <bcp14>SHALL</bcp14> satisfy the resource's requirements and remediate the failure.</t>
            </li>
            <li>
              <t><tt>authorization_reference</tt>: <bcp14>RECOMMENDED</bcp14>. An opaque string generated by the resource server to enable the client to select an existing access token associated with equivalent authorization details, without requiring the client to understand the semantics of the authorization details object:      </t>
              <ul spacing="normal">
                <li>
                  <t>Resource server <bcp14>SHOULD</bcp14> generate the <tt>authorization_reference</tt> by canonicalizing and hashing the authorization_details object or an equivalent stable representation, so that the same or semantically equivalent authorization details produce the same authorization_reference value.</t>
                </li>
                <li>
                  <t>The value <bcp14>MUST NOT</bcp14> reveal any sensitive or private information.</t>
                </li>
                <li>
                  <t>Clients <bcp14>MUST</bcp14> treat this value as opaque and <bcp14>MUST NOT</bcp14> attempt to interpret or derive meaning from it.</t>
                </li>
                <li>
                  <t>Returning stable <tt>authorization_reference</tt> values enables clients to reliably match existing tokens to incoming <tt>authorization_remediation</tt> responses, to avoid requesting new tokens when a matching token is already in their possession.</t>
                </li>
                <li>
                  <t>The resource server <bcp14>SHALL NOT</bcp14> include this attribute when tokens issued for the provided <tt>authorization_details</tt> are intended for single-use only.</t>
                </li>
              </ul>
            </li>
          </ul>
        </li>
      </ul>
      <t>Notes:</t>
      <ul spacing="normal">
        <li>
          <t>The <tt>error_description</tt> parameter <bcp14>MAY</bcp14> be included to provide a human-readable description.</t>
        </li>
        <li>
          <t>The provided <tt>authorization_details</tt> are intended to be interoperable with all OAuth specifications and usable in any grant flow supporting RAR.</t>
        </li>
        <li>
          <t>Deployments where resource servers have out-of-band agreements with clients to provide other types of payloads for authorization failure remediation, <bcp14>MAY</bcp14> define and use different attributes of <tt>authorization_remediation</tt> as they see fit.</t>
        </li>
      </ul>
      <t>Example HTTP response from a direct debit resource:</t>
      <artwork><![CDATA[
HTTP/1.1 401 Unauthorized
WWW-Authenticate: Bearer error="insufficient_authorization",
error_description="Additional authorization is required",
authorization_remediation=eyJhdXRob3JpemF0aW9uX2RldGFpbHMiOlt7InR5cGUiOiJkaX...
]]></artwork>
      <t>The decoded <tt>authorization_remediation</tt> contents in this example are:</t>
      <artwork><![CDATA[
{
    "authorization_details": [{
            "type": "direct_debit_mandate",
            "DebtorAccount": {
                "SchemeName": "UK.OBIE.SortCodeAccountNumber",
                "Identification": "08080021325698",
                "Name": "JohnDoe"
            },
            "CreditorAgent": {
                "SchemeName": "UK.OBIE.BICFI",
                "Identification": "NWBKGB22"
            },
            "CreditorAccount": {
                "SchemeName": "UK.OBIE.SortCodeAccountNumber",
                "Identification": "08080021325698",
                "Name": "ACMECorp"
            },
            "MandateStatus": "Active",
            "CreationDateTime": "2026-06-01T09:00:00+00:00"
        }
    ],
    "authorization_reference": "Yb7q3AC5d"
}
]]></artwork>
      <t>Example HTTP response from a payment initiation resource:</t>
      <artwork><![CDATA[
HTTP/1.1 401 Unauthorized
WWW-Authenticate: Bearer error="insufficient_authorization",
error_description="Additional authorization is required",
authorization_remediation=eyJhdXRob3JpemF0aW9uX2RldGFpbHMiOlt7InR5cGUiOiJkaX...
]]></artwork>
      <t>The decoded <tt>authorization_remediation</tt> contents in this example are:</t>
      <artwork><![CDATA[
{
    "authorization_details": [{
           "type": "payment_initiation",
           "instructed_amount": {
              "currency": "EUR",
              "amount": "100.00"
           },
           "creditor_account": {
              "iban": "DE02120300000000202051"
           }
       }
   ]
}
]]></artwork>
    </section>
    <section anchor="authorization-details-types-metadata-endpoint">
      <name>Authorization Details Types Metadata Endpoint</name>
      <t>The following authorization server metadata <xref target="RFC8414"/> parameter is introduced to indicate the server's support for Authorization Details Types Metadata:</t>
      <dl>
        <dt>"authorization_details_types_metadata_endpoint":</dt>
        <dd>
          <t><bcp14>OPTIONAL</bcp14>.  The URL of the Authorization Details Types Metadata endpoint.</t>
        </dd>
      </dl>
      <t>The Authorization Details Types Metadata endpoint is called with HTTP GET and responds with Content-Type <tt>application/json</tt> and a JSON object whose members are authorization details type identifiers.</t>
      <t>Each member value is an object describing a single authorization details type.</t>
      <artwork><![CDATA[
{
  "type": {
    "version": "...",
    "description": "...",
    "documentation_uri": "...",
    "schema": { },
    "schema_uri": "...",
    "examples": [ ]
  }
}
]]></artwork>
      <t>Attribute definition:</t>
      <dl>
        <dt>"version":</dt>
        <dd>
          <t><bcp14>OPTIONAL</bcp14>. String identifying the version of the authorization details type definition. The value is informational and does not imply semantic version negotiation.</t>
        </dd>
        <dt>"description":</dt>
        <dd>
          <t><bcp14>OPTIONAL</bcp14>. String containing a description of the authorization details type. Clients <bcp14>MUST NOT</bcp14> rely on this value for authorization or validation decisions.</t>
        </dd>
        <dt>"documentation_uri":</dt>
        <dd>
          <t><bcp14>OPTIONAL</bcp14>. URI referencing external documentation describing the authorization details type.</t>
        </dd>
        <dt>"schema":</dt>
        <dd>
          <t>The <tt>schema</tt> attribute contains a JSON Schema document <xref target="JSON.Schema"/> that describes a single authorization details object. The schema <bcp14>MUST</bcp14> validate exactly one authorization details object and <bcp14>MUST</bcp14> restrict the <tt>type</tt> attribute to the corresponding authorization details type identifier. This attribute is <bcp14>REQUIRED</bcp14> unless <tt>schema_uri</tt> is specified. If present, <tt>schema_uri</tt> <bcp14>MUST NOT</bcp14> be included.</t>
        </dd>
        <dt>"schema_uri":</dt>
        <dd>
          <t>The <tt>schema_uri</tt> attribute is an absolute URI, as defined by RFC 3986 <xref target="RFC3986"/>, referencing a JSON Schema document describing a single authorization details object. The referenced schema <bcp14>MUST</bcp14> satisfy the same requirements as the <tt>schema</tt> attribute. This attribute is <bcp14>REQUIRED</bcp14> unless <tt>schema</tt> is specified. If this attribute is present, <tt>schema</tt> <bcp14>MUST NOT</bcp14> be present.</t>
        </dd>
        <dt>"examples":</dt>
        <dd>
          <t><bcp14>OPTIONAL</bcp14>. An array of example authorization details objects. Examples are non-normative.</t>
        </dd>
      </dl>
      <t>See Examples <xref target="metadata-examples"/> for non-normative response example.</t>
    </section>
    <section anchor="rar-objects-in-jwt-access-tokens">
      <name>RAR objects in JWT access tokens</name>
      <t>Pursuant with RAR <xref target="RFC9396"/> section 9, authorization servers <bcp14>MUST</bcp14> provide approved RAR objects to resource servers for enforcement. The authorization server <bcp14>MAY</bcp14> add the <tt>authorization_details</tt> attribute to access tokens in JSON Web Token (JWT) format or to token introspection responses.</t>
      <t>There may however be cases, where due to various considerations such as token size or information privacy, including approved RAR objects in JWT access tokens would be advised against.</t>
      <t>It is <bcp14>RECOMMENDED</bcp14> that when an authorization server issues JWT access tokens, it should consider the size, sensitivity, and privacy implications of including the authorization_details attribute. Where appropriate, the authorization server <bcp14>SHOULD</bcp14> omit this attribute from JWT tokens and instead provide the approved RAR objects to resource servers via the token introspection endpoint. This endpoint <bcp14>SHOULD</bcp14> use appropriate client authentication methods to prevent unauthorized access, in case of token leakage.</t>
    </section>
    <section anchor="processing-rules">
      <name>Processing Rules</name>
      <section anchor="client-processing-rules">
        <name>Client Processing Rules</name>
        <t><strong>General</strong>:</t>
        <t>Client <bcp14>MAY</bcp14> attempt calling resource server, either on first attempt or as a remediation step, using any valid tokens which were obtained following a remediation challenge from same resource server origin, which included an authorization_reference, as such tokens are not limited for single-use.</t>
        <t>Existing tokens whose authority is inclusive may permit resource calls requiring lower authority, despite their authorization_reference value differs from value obtained in other remediation challenges. For example, a recurring direct debit token permitting up to 100$ can authorize a 80$ debit, although the remediation challenges returned when attempting 80$ or 100$ debits with insufficient authority, will differ in their authorization_details and authorization_reference values.</t>
        <t>Therefore attempting a 80$ debit with an existing token permitting 100$ debits may succeed.</t>
        <t><strong>Handling an HTTP 401 failure response</strong>:</t>
        <t>When a client receives an HTTP 401 response with WWW-Authenticate error code <tt>insufficient_authorization</tt> and an <tt>authorization_remediation</tt> parameter, it <bcp14>SHOULD</bcp14> process it as follows.</t>
        <section anchor="step-1-parse-the-remediation-response">
          <name>Step 1 - Parse the remediation response</name>
          <t>The client decodes the base64url-encoded <tt>authorization_remediation</tt> JSON object and extracts:</t>
          <ul spacing="normal">
            <li>
              <t><tt>authorization_details</tt> (<bcp14>RECOMMENDED</bcp14>): the actionable RAR objects.</t>
            </li>
            <li>
              <t><tt>authorization_reference</tt> (<bcp14>OPTIONAL</bcp14>): an opaque string for token-bag lookup.</t>
            </li>
          </ul>
        </section>
        <section anchor="step-2-attempt-token-reuse-via-authorizationreference-if-present">
          <name>Step 2 - Attempt token reuse via <tt>authorization_reference</tt> (if present)</name>
          <ol spacing="normal" type="1"><li>
              <t>If the <tt>authorization_remediation</tt> contains an <tt>authorization_reference</tt> attribute, the client <bcp14>SHOULD</bcp14> search its <strong>in-session tokens</strong> for a token previously associated with that reference value <strong>and</strong> the same resource server origin.</t>
            </li>
            <li>
              <t>Matching is a simple string comparison — the client <bcp14>MUST NOT</bcp14> attempt to compute, parse, or derive meaning from the reference value.</t>
            </li>
            <li>
              <t>If a matching, non-expired token is found, the client <bcp14>MAY</bcp14> retry the failing request with that token. If the retry also fails with <tt>insufficient_authorization</tt>, the client <bcp14>MUST NOT</bcp14> retry again with the same token for the same reference and <bcp14>SHOULD</bcp14> proceed to Step 3.</t>
            </li>
            <li>
              <t>If no matching token is found, the client proceeds to Step 3.</t>
            </li>
          </ol>
        </section>
        <section anchor="step-3-obtain-a-new-token-via-oauth-rar">
          <name>Step 3 - Obtain a new token via OAuth + RAR</name>
          <t>The client proceeds to this step if: (a) no <tt>authorization_reference</tt> was present, (b) no matching token in client's possession was found, (c) a matched token was rejected by the resource server (Step 2, item 4), or (d) the client elects to skip an existing token lookup and use <tt>authorization_details</tt> directly.</t>
          <ol spacing="normal" type="1"><li>
              <t>The client uses the <tt>authorization_details</tt> from the <tt>authorization_remediation</tt> response in a new OAuth authorization request per <xref target="RFC9396"/>. The client <bcp14>MAY</bcp14> use any grant type or extension that supports RAR (such as PAR <xref target="RFC9126"/>, JAR <xref target="RFC9101"/>, etc).</t>
            </li>
            <li>
              <t>Upon successful token issuance, if the triggering resource server response included an <tt>authorization_reference</tt>, the client <bcp14>SHOULD</bcp14> persist the newly obtained token associated with that reference value and the resource server origin in its in-session token storage. This token-to-reference association enables future lookups in Step 2 when the same <tt>authorization_reference</tt> is encountered again.</t>
            </li>
            <li>
              <t>The client retries the failing request with the newly obtained token.</t>
            </li>
          </ol>
        </section>
        <section anchor="step-4-handle-continued-failure">
          <name>Step 4 - Handle continued failure</name>
          <t>If after obtaining a new token and retrying, the resource server still returns <tt>insufficient_authorization</tt>:</t>
          <ul spacing="normal">
            <li>
              <t>If the new response contains a <strong>different</strong> <tt>authorization_reference</tt>, the client <bcp14>MAY</bcp14> attempt remediation again (subject to implementation-defined retry limits).</t>
            </li>
            <li>
              <t>If the new response contains the <strong>same</strong> <tt>authorization_reference</tt>, the client <bcp14>MUST NOT</bcp14> loop — it <bcp14>SHOULD</bcp14> treat the failure as non-remediable and report an error to the user or calling application.</t>
            </li>
          </ul>
        </section>
        <section anchor="additional-guidance">
          <name>Additional guidance</name>
          <ul spacing="normal">
            <li>
              <t>Clients <bcp14>MAY</bcp14> ignore <tt>authorization_reference</tt> entirely if they do not implement token caching or reuse. In that case, each <tt>insufficient_authorization</tt> response triggers a fresh authorization request using the provided <tt>authorization_details</tt>.</t>
            </li>
            <li>
              <t>If the client's current authorization server does not support the required authorization details types (as indicated by its metadata), the client <bcp14>MAY</bcp14> use Protected Resource Metadata <xref target="RFC9728"/> to discover alternative authorization servers for the resource.</t>
            </li>
            <li>
              <t>The token storage <bcp14>MUST</bcp14> be scoped per end-user session. Concurrent users operating through the same client instance <bcp14>MUST</bcp14> maintain separate token storage instances.</t>
            </li>
          </ul>
        </section>
      </section>
      <section anchor="resource-server-processing-rules">
        <name>Resource Server Processing Rules</name>
        <t>When a resource server receives a request with an OAuth token:</t>
        <section anchor="step-1-validate-the-access-token">
          <name>Step 1 - Validate the access token</name>
          <t>Verify token validity following <xref target="RFC6750"/> or <xref target="RFC9068"/> if JWT profiled. If the token is invalid for reasons other than insufficient authorization details, return the appropriate existing error code (e.g., <tt>invalid_token</tt>).</t>
        </section>
        <section anchor="step-2-verify-authorization-details-if-present">
          <name>Step 2 - Verify authorization details (if present)</name>
          <t>Determine whether the token carries sufficient authorization details for the requested operation. Authorization details <bcp14>MAY</bcp14> be obtained from the JWT access token payload or via token introspection <xref target="RFC7662"/>.</t>
        </section>
        <section anchor="step-3-if-authorization-details-are-missing-or-insufficient">
          <name>Step 3 - If authorization details are missing or insufficient</name>
          <t>The resource server responds with an error per the bearer token error framework <xref target="RFC6750"/> Section 3. The specific error code depends on the nature of the failure:
- If the token is valid but lacks sufficient <strong>scope</strong>, the resource server returns <tt>insufficient_scope</tt> per <xref target="RFC6750"/> Section 3.1.
- If the token is valid but lacks sufficient <strong>authentication context</strong> (e.g., ACR/AMR level), the resource server returns <tt>insufficient_user_authentication</tt> per <xref target="RFC9470"/>.
- If the token is valid but lacks sufficient <strong>authorization details</strong>, the RS returns <tt>insufficient_authorization</tt> per Section 4 of this document, with an <tt>authorization_remediation</tt> parameter as defined in Section 4.1.
The <tt>authorization_remediation</tt> parameter carries the actionable <tt>authorization_details</tt> and optional <tt>authorization_reference</tt> as specified in Section 4. The resource server constructs these per the rules defined below.</t>
        </section>
      </section>
      <section anchor="limitations-and-considerations-for-authorizationreference">
        <name>Limitations and Considerations for <tt>authorization_reference</tt></name>
        <t>Implementers should be aware of the following limitations:</t>
        <section anchor="token-reuse-is-opportunistic-not-guaranteed">
          <name>Token reuse is opportunistic, not guaranteed</name>
          <t>A matching <tt>authorization_reference</tt> with client's existing tokens does NOT guarantee the token will be accepted by the resource server. The token may have been issued under conditions that no longer apply:</t>
          <ul spacing="normal">
            <li>
              <t>The resource owner may have revoked consent since the token was issued.</t>
            </li>
            <li>
              <t>Contextual risk may have changed (e.g., geolocation, device posture), causing the resource server to require stronger authorization ceremonies.</t>
            </li>
            <li>
              <t>The authorization server may have issued the token with a subset of the requested authorization details (per <xref target="RFC9396"/> Section 7).</t>
            </li>
          </ul>
          <t>Clients <bcp14>MUST</bcp14> handle the case where a reused token is rejected despite matching the <tt>authorization_reference</tt> (see Section 7.1, Step 2, item 4).</t>
        </section>
        <section anchor="authorizationreference-does-not-replace-authorizationdetails">
          <name><tt>authorization_reference</tt> does not replace <tt>authorization_details</tt></name>
          <t>The <tt>authorization_reference</tt> is an optimization for token selection. It is NOT a substitute for <tt>authorization_details</tt>:</t>
          <ul spacing="normal">
            <li>
              <t><tt>authorization_details</tt> is <bcp14>RECOMMENDED</bcp14> in every <tt>authorization_remediation</tt> response providing actionable RAR objects and is what the client uses when initiating a new authorization request.</t>
            </li>
            <li>
              <t><tt>authorization_reference</tt> is <bcp14>RECOMMENDED</bcp14> and enables the client to avoid unnecessary authorization flows when it already possesses a suitable token.</t>
            </li>
          </ul>
          <t>Clients that do not implement token caching <bcp14>MAY</bcp14> safely ignore <tt>authorization_reference</tt> with no loss of interoperability.</t>
        </section>
        <section anchor="loop-prevention">
          <name>Loop prevention</name>
          <t>If the resource server consistently returns the same <tt>authorization_reference</tt> and rejects tokens obtained via the associated <tt>authorization_details</tt>, the client may enter an infinite loop. To prevent this:</t>
          <ul spacing="normal">
            <li>
              <t>Clients <bcp14>MUST</bcp14> implement a maximum retry count (<bcp14>RECOMMENDED</bcp14>: 1 retry with a cached token, then 1 fresh authorization attempt, then fail).</t>
            </li>
            <li>
              <t>If a freshly obtained token (from a new authorization flow using the resource server provided <tt>authorization_details</tt>) is immediately rejected by the same resource server with the same <tt>authorization_reference</tt>, the client <bcp14>MUST</bcp14> stop and report the error.</t>
            </li>
          </ul>
        </section>
        <section anchor="no-cross-resource-server-portability">
          <name>No cross-resource-server portability</name>
          <t>The <tt>authorization_reference</tt> value is scoped to the producing resource server. It <bcp14>MUST NOT</bcp14> be used for token selection when interacting with a different resource server, even if the two servers enforce similar authorization details types.</t>
        </section>
        <section anchor="analogy-to-scope-based-token-selection">
          <name>Analogy to scope-based token selection</name>
          <t>The <tt>authorization_reference</tt> mechanism is analogous to how clients select tokens based on OAuth scopes in traditional deployments. Just as a client maintains a mapping of <tt>{scope → token}</tt> and selects the appropriate token for each resource server call, this mechanism extends that pattern to RAR:</t>
          <table>
            <thead>
              <tr>
                <th align="left">Traditional (scope-based)</th>
                <th align="left">RAR + authorization_reference</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">Resource server returns <tt>insufficient_scope</tt> with required <tt>scope</tt> value</td>
                <td align="left">Resource server returns <tt>insufficient_authorization</tt> with <tt>authorization_remediation</tt></td>
              </tr>
              <tr>
                <td align="left">Client checks if it has a token with matching scope</td>
                <td align="left">Client checks if it has a token with matching <tt>authorization_reference</tt></td>
              </tr>
              <tr>
                <td align="left">Simple string comparison on scope values</td>
                <td align="left">Simple string comparison on reference values</td>
              </tr>
              <tr>
                <td align="left">If not found, request new token with required scope</td>
                <td align="left">If not found, request new token with provided <tt>authorization_details</tt></td>
              </tr>
            </tbody>
          </table>
          <t>The key advantage: clients do not need to understand, parse, or compare complex JSON <tt>authorization_details</tt> objects — the resource server has already reduced the comparison to an opaque string.</t>
        </section>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <section anchor="confidentiality-of-resource-server-provided-authorizationdetails">
        <name>Confidentiality of resource server provided authorization_details</name>
        <t>Resource servers when providing actionable <tt>authorization_details</tt> <bcp14>SHOULD NOT</bcp14> include sensitive data in those objects. This is consistent with RAR <xref target="RFC9396"/> <tt>authorization_details</tt> OAuth request parameter, representing <strong>request</strong> semantics.</t>
        <t>Confidentiality-preserving <tt>authorization_details</tt> types <bcp14>SHOULD NOT</bcp14> include sensitive data. Instead, the end-user <bcp14>SHOULD</bcp14> provide such information when interacting with the authorization server.</t>
        <t>Alternatively, <tt>authorization_details</tt> <bcp14>MAY</bcp14> refer to specific end-user resources using opaque reference handles (e.g., "account_1a" instead of using explicit IBAN).</t>
      </section>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <section anchor="oauth-20-www-authenticate-error-code-registry">
        <name>OAuth 2.0 WWW-Authenticate Error Code Registry</name>
        <table>
          <thead>
            <tr>
              <th align="left">Error Code</th>
              <th align="left">Error Usage Location</th>
              <th align="left">Change Controller</th>
              <th align="left">Specification Document</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">insufficient_authorization</td>
              <td align="left">Resource access error response</td>
              <td align="left">IETF</td>
              <td align="left">RFC XXXX, Section X</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="oauth-authorization-server-metadata-registry">
        <name>OAuth Authorization Server Metadata Registry</name>
        <t>This specification registers the following authorization server metadata parameter in the OAuth Authorization Server Metadata registry:</t>
        <table>
          <thead>
            <tr>
              <th align="left">Metadata Name</th>
              <th align="left">Metadata Description</th>
              <th align="left">Change Controller</th>
              <th align="left">Specification Document</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">authorization_details_types_metadata_endpoint</td>
              <td align="left">URL of the Authorization Details Types Metadata endpoint</td>
              <td align="left">IETF</td>
              <td align="left">RFC XXXX, Section X</td>
            </tr>
          </tbody>
        </table>
      </section>
    </section>
  </middle>
  <back>
    <references anchor="sec-normative-references">
      <name>Normative References</name>
      <reference anchor="RFC3986">
        <front>
          <title>*** BROKEN REFERENCE ***</title>
          <author>
            <organization/>
          </author>
          <date/>
        </front>
      </reference>
      <reference anchor="RFC6750">
        <front>
          <title>*** BROKEN REFERENCE ***</title>
          <author>
            <organization/>
          </author>
          <date/>
        </front>
      </reference>
      <reference anchor="RFC7662">
        <front>
          <title>*** BROKEN REFERENCE ***</title>
          <author>
            <organization/>
          </author>
          <date/>
        </front>
      </reference>
      <reference anchor="RFC8414">
        <front>
          <title>*** BROKEN REFERENCE ***</title>
          <author>
            <organization/>
          </author>
          <date/>
        </front>
      </reference>
      <reference anchor="RFC9068">
        <front>
          <title>*** BROKEN REFERENCE ***</title>
          <author>
            <organization/>
          </author>
          <date/>
        </front>
      </reference>
      <reference anchor="RFC9101">
        <front>
          <title>*** BROKEN REFERENCE ***</title>
          <author>
            <organization/>
          </author>
          <date/>
        </front>
      </reference>
      <reference anchor="RFC9126">
        <front>
          <title>*** BROKEN REFERENCE ***</title>
          <author>
            <organization/>
          </author>
          <date/>
        </front>
      </reference>
      <reference anchor="RFC9396">
        <front>
          <title>*** BROKEN REFERENCE ***</title>
          <author>
            <organization/>
          </author>
          <date/>
        </front>
      </reference>
      <reference anchor="RFC9470">
        <front>
          <title>*** BROKEN REFERENCE ***</title>
          <author>
            <organization/>
          </author>
          <date/>
        </front>
      </reference>
      <reference anchor="RFC9728">
        <front>
          <title>*** BROKEN REFERENCE ***</title>
          <author>
            <organization/>
          </author>
          <date/>
        </front>
      </reference>
      <reference anchor="IANA.oauth-parameters">
        <front>
          <title>*** BROKEN REFERENCE ***</title>
          <author>
            <organization/>
          </author>
          <date/>
        </front>
      </reference>
      <reference anchor="JSON.Schema" target="https://json-schema.org/draft/2020-12/json-schema-core">
        <front>
          <title>JSON Schema: A Media Type for Describing JSON Documents</title>
          <author initials="A." surname="Wright, Ed">
            <organization/>
          </author>
          <author initials="H." surname="Andrews, Ed">
            <organization/>
          </author>
          <author initials="B." surname="Hutton, Ed">
            <organization/>
          </author>
          <author initials="G." surname="Dennis">
            <organization/>
          </author>
          <date year="2022" month="June"/>
        </front>
      </reference>
      <reference anchor="RFC2119">
        <front>
          <title>*** BROKEN REFERENCE ***</title>
          <author>
            <organization/>
          </author>
          <date/>
        </front>
      </reference>
      <reference anchor="RFC8174">
        <front>
          <title>*** BROKEN REFERENCE ***</title>
          <author>
            <organization/>
          </author>
          <date/>
        </front>
      </reference>
    </references>
    <?line 435?>

<section anchor="examples">
      <name>Examples</name>
      <t>This section provides non-normative examples of how this specification may be used to support specific use cases.</t>
      <section anchor="metadata-examples">
        <name>Authorization Server Metadata Examples</name>
        <section anchor="example-authorizationdetailstypesmetadataendpoint-response-with-payment-initiation">
          <name>Example authorization_details_types_metadata_endpoint response with Payment Initiation</name>
          <artwork><![CDATA[
HTTP/1.1 200 OK
Content-Type: application/json

{
    "payment_initiation": {
        "version": "1.0",
        "description": "Authorization to initiate a single payment from a payer account to a creditor account.",
        "documentation_uri": "https://example.com/docs/payment-initiation",
        "schema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "title": "Payment Initiation Authorization Detail",
            "type": "object",
            "required": [
                "type",
                "instructed_amount",
                "creditor_account"
            ],
            "properties": {
                "type": {
                    "const": "payment_initiation",
                    "description": "Authorization details type identifier."
                },
                "actions": {
                    "type": "array",
                    "description": "Permitted actions for this authorization.",
                    "items": {
                        "type": "string",
                        "enum": ["initiate"]
                    },
                    "minItems": 1,
                    "uniqueItems": true
                },
                "instructed_amount": {
                    "type": "object",
                    "description": "Amount and currency of the payment to be initiated.",
                    "required": ["currency", "amount"],
                    "properties": {
                        "currency": {
                            "type": "string",
                            "description": "ISO 4217 currency code.",
                            "pattern": "^[A-Z]{3}$"
                        },
                        "amount": {
                            "type": "string",
                            "description": "Decimal monetary amount represented as a string.",
                            "pattern": "^[0-9]+(\\.[0-9]{1,2})?$"
                        }
                    }
                },
                "creditor_account": {
                    "type": "object",
                    "description": "Account to which the payment will be credited.",
                    "required": ["iban"],
                    "properties": {
                        "iban": {
                            "type": "string",
                            "description": "International Bank Account Number (IBAN).",
                            "pattern": "^[A-Z0-9]{15,34}$"
                        }
                    }
                },
                "remittance_information": {
                    "type": "string",
                    "description": "Unstructured remittance information for the payment.",
                    "maxLength": 140
                }
            }
        }
    }
}
]]></artwork>
        </section>
        <section anchor="example-authorizationdetailstypesmetadataendpoint-response-for-the-norwegian-health-sector-helseid">
          <name>Example authorization_details_types_metadata_endpoint response for the Norwegian Health Sector (HelseID)</name>
          <artwork><![CDATA[
HTTP/1.1 200 OK
Content-Type: application/json

{

    "helseid_authorization": {
        "version": "1.0",
        "description": "Allows the OAuth client to pass organization information to HelseID.",
        "documentation_uri": "https://utviklerportal.nhn.no/informasjonstjenester/helseid/bruksmoenstre-og-eksempelkode/bruk-av-helseid/docs/tekniske-mekanismer/organisasjonsnumre_enmd",
        "schema": {
            "$schema": "http://json-schema.org/draft-07/schema#",
            "title": "Organization numbers for a multi-tenant client",
            "type": "object",
            "properties": {
                "type": {
                    "type": "string",
                    "const": "helseid_autorization"
                },
                "practitioner_role": {
                    "type": "object",
                    "properties": {
                        "organization": {
                            "type": "object",
                            "properties": {
                                "identifier": {
                                    "type": "object",
                                    "properties": {
                                        "system": {
                                            "type": "string"
                                        },
                                        "type": {
                                            "type": "string"
                                        },
                                        "value": {
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "system",
                                        "type",
                                        "value"
                                    ]
                                }
                            },
                            "required": [
                                "identifier"
                            ]
                        }
                    },
                    "required": [
                        "organization"
                    ]
                }
            },
            "required": [
                "type",
                "practitioner_role"
            ]
        }
    },
    "helseid_trust_framework": {
        "version": "1.0",
        "description": "HelseID Trust Framework Information",
        "documentation_uri": "https://utviklerportal.nhn.no/informasjonstjenester/helseid/bruksmoenstre-og-eksempelkode/bruk-av-helseid/docs/tekniske-mekanismer/trust-framework",
        "schema": {
            "$schema": "http://json-schema.org/draft-07/schema#",
            "description": "Complete Trust Framework structure",
            "documentation_uri": "https://utviklerportal.nhn.no/informasjonstjenester/helseid/bruksmoenstre-og-eksempelkode/bruk-av-helseid/docs/tillitsrammeverk/profil_for_tillitsrammeverkmd",
            "type": "object",
            "properties": {
                "type": {
                    "type": "string",
                    "const": "nhn:tillitsrammeverk:parameters"
                },
                "practitioner": {
                    "type": "object",
                    "properties": {
                        "authorization": {
                            "type": "object",
                            "properties": {
                                "code": {
                                    "type": "string"
                                },
                                "system": {
                                    "type": "string"
                                }
                            },
                            "required": [
                                "code",
                                "system"
                            ]
                        },
                        "legal_entity": {
                            "type": "object",
                            "properties": {
                                "id": {
                                    "type": "string"
                                },
                                "system": {
                                    "type": "string"
                                }
                            },
                            "required": [
                                "id",
                                "system"
                            ]
                        },
                        "point_of_care": {
                            "type": "object",
                            "properties": {
                                "id": {
                                    "type": "string"
                                },
                                "system": {
                                    "type": "string"
                                }
                            },
                            "required": [
                                "id",
                                "system"
                            ]
                        },
                        "department": {
                            "type": "object",
                            "properties": {
                                "id": {
                                    "type": "string"
                                },
                                "system": {
                                    "type": "string"
                                }
                            },
                            "required": [
                                "id",
                                "system"
                            ]
                        }
                    },
                    "required": [
                        "authorization",
                        "legal_entity",
                        "point_of_care",
                        "department"
                    ]
                },
                "care_relationship": {
                    "type": "object",
                    "properties": {
                        "healthcare_service": {
                            "type": "object",
                            "properties": {
                                "code": {
                                    "type": "string"
                                },
                                "system": {
                                    "type": "string"
                                }
                            },
                            "required": [
                                "code",
                                "system"
                            ]
                        },
                        "purpose_of_use": {
                            "type": "object",
                            "properties": {
                                "code": {
                                    "type": "string"
                                },
                                "system": {
                                    "type": "string"
                                }
                            },
                            "required": [
                                "code",
                                "system"
                            ]
                        },
                        "purpose_of_use_details": {
                            "type": "object",
                            "properties": {
                                "code": {
                                    "type": "string"
                                },
                                "system": {
                                    "type": "string"
                                }
                            },
                            "required": [
                                "code",
                                "system"
                            ]
                        },
                        "decision_ref": {
                            "type": "object",
                            "properties": {
                                "id": {
                                    "type": "string"
                                },
                                "user_selected": {
                                    "type": "boolean"
                                }
                            },
                            "required": [
                                "id",
                                "user_selected"
                            ]
                        }
                    },
                    "required": [
                        "healthcare_service",
                        "purpose_of_use",
                        "purpose_of_use_details",
                        "decision_ref"
                    ]
                },
                "patients": {
                    "type": "array",
                    "items": {
                        "type": "object",
                        "properties": {
                            "point_of_care": {
                                "type": "object",
                                "properties": {
                                    "id": {
                                        "type": "string"
                                    },
                                    "system": {
                                        "type": "string"
                                    }
                                },
                                "required": [
                                    "id",
                                    "system"
                                ]
                            },
                            "department": {
                                "type": "object",
                                "properties": {
                                    "id": {
                                        "type": "string"
                                    },
                                    "system": {
                                        "type": "string"
                                    }
                                },
                                "required": [
                                    "id",
                                    "system"
                                ]
                            }
                        },
                        "required": [
                            "point_of_care",
                            "department"
                        ]
                    }
                }
            },
            "required": [
                "type",
                "practitioner",
                "care_relationship",
                "patients"
            ]
        }
    }
}
]]></artwork>
        </section>
      </section>
    </section>
    <section anchor="document-history">
      <name>Document History</name>
      <t>-06</t>
      <ul spacing="normal">
        <li>
          <t>Expanded processing rules to be more explicit, using Jeff Lombardo's feedback.</t>
        </li>
        <li>
          <t>Explained how potential reuse of existing tokens is possible despite authorization_reference mismatches.</t>
        </li>
      </ul>
      <t>-05</t>
      <ul spacing="normal">
        <li>
          <t>Removed required authorization details types.</t>
        </li>
        <li>
          <t>Changed from HTTP 403 to 401.</t>
        </li>
        <li>
          <t>Moved resource servers response from body to WWW-Authenticate header.</t>
        </li>
        <li>
          <t>Renamed authorization_hint to authorization_reference and clarified its usage.</t>
        </li>
        <li>
          <t>Clarified authorization server broader considerations on omitting RAR from JWT access tokens.</t>
        </li>
        <li>
          <t>Clarified document's interoperability with any OAuth rfc and any grant that supports RAR.</t>
        </li>
      </ul>
      <t>-04</t>
      <ul spacing="normal">
        <li>
          <t>Moved required authorization details types from resource metadata to resource server's response.</t>
        </li>
        <li>
          <t>Adapted resource server processing rules to reflect error signaling and handling of large RAR payloads.</t>
        </li>
      </ul>
      <t>-03</t>
      <ul spacing="normal">
        <li>
          <t>Added authorization_reference to guide client on token selection and updated client processing rules accordingly</t>
        </li>
        <li>
          <t>Added security consideration on confidentiality of RS-provided authorization_details</t>
        </li>
        <li>
          <t>Added authorization server considerations for handling large RAR objects in JWT access tokens</t>
        </li>
      </ul>
      <t>-02</t>
      <ul spacing="normal">
        <li>
          <t>Defined the required types expression</t>
        </li>
        <li>
          <t>Added Protected Resource Metadata examples</t>
        </li>
      </ul>
      <t>-01</t>
      <ul spacing="normal">
        <li>
          <t>Authorization details moved to HTTP body and made <bcp14>OPTIONAL</bcp14></t>
        </li>
        <li>
          <t>Metadata pointer from resource metadata url, full authorization details types metadata on authorization server new endpoint</t>
        </li>
      </ul>
      <t>-00</t>
      <ul spacing="normal">
        <li>
          <t>Document creation</t>
        </li>
      </ul>
    </section>
    <section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>The authors would like to thank the following individuals who contributed ideas, feedback, and wording that helped shape the final specification: Rune Grimstad, Justin Richer, Jeff Lombardo, Judith Kahrer, Pieter Kasselman.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
7Hf+D/XrJmgEqgAA

-->

</rfc>
