<?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.43 (Ruby 3.4.9) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-gazitt-oauth-authzen-issuance-01" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.34.0 -->
  <front>
    <title abbrev="AuthZEN Token Issuance">AuthZEN Profile for OAuth 2.0 Token Issuance</title>
    <seriesInfo name="Internet-Draft" value="draft-gazitt-oauth-authzen-issuance-01"/>
    <author fullname="Omri Gazitt">
      <organization>Independent</organization>
      <address>
        <email>ogazitt@gmail.com</email>
      </address>
    </author>
    <date year="2026" month="September" day="02"/>
    <area>Security</area>
    <workgroup>Web Authorization Protocol</workgroup>
    <keyword>oauth</keyword>
    <keyword>authorization</keyword>
    <keyword>authzen</keyword>
    <keyword>policy</keyword>
    <keyword>token exchange</keyword>
    <abstract>
      <?line 93?>

<t>Numerous OAuth 2.0 specifications define a moment at which an authorization
server decides whether to issue a security token, and each of them declares
the decision itself to be a matter of local policy that is out of scope.
The result is that a decision common to every OAuth deployment has no
interoperable expression.</t>
      <t>This document defines a profile for using the OpenID AuthZEN Authorization
API to externalize that decision to a Policy Decision Point. It specifies
how the inputs to a token issuance request map onto AuthZEN's mandatory
five-tuple, how a Policy Decision Point response may shape the issued token,
and how a Policy Decision Point advertises support for the profile.</t>
      <t>The mapping is complete for grants whose request names a single party,
including the authorization code and client credentials grants. Companion
documents bind the grant families that add structure this document does not
model, the token exchange family first among them.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-gazitt-oauth-authzen-issuance/"/>.
      </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/ogazitt/oauth-authzen"/>.</t>
    </note>
  </front>
  <middle>
    <?line 112?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>Consider the moment an OAuth 2.0 authorization server (AS) has authenticated
a client, validated a grant, and must decide whether to mint a token - and
if so, with what scopes, what audience, what lifetime, and what claims.
Every specification that defines such a moment models its inputs in careful
detail and then stops short of the decision.</t>
      <t><xref target="RFC8693"/>, which defines OAuth 2.0 Token Exchange, is explicit that the
decision to issue is governed by policy it does not define. The
specifications built on top of it inherit that seam: identity chaining
(<xref target="I-D.ietf-oauth-identity-chaining"/>), identity assertion authorization
grants (<xref target="I-D.ietf-oauth-identity-assertion-authz-grant"/>), and transaction
tokens (<xref target="I-D.ietf-oauth-transaction-tokens"/>) each describe an
"administrator-defined policy" or equivalent without describing how such a
policy is expressed, evaluated, or externalized.</t>
      <t>Leaving the decision to local policy is the correct choice for those
documents. But it means that the single most security-relevant step in token
issuance is, today, an implementation detail - expressed in vendor-specific
rules engines, inline hooks, and scripting extensions that do not port
between authorization servers and cannot be reasoned about by anything
outside the AS.</t>
      <t><xref target="AUTHZEN"/> defines an interoperable API between a Policy Enforcement Point
(PEP) and a Policy Decision Point (PDP). This document profiles that API for
the token issuance moment, casting the <strong>authorization server as a PEP</strong>.</t>
      <section anchor="design-goals">
        <name>Design Goals</name>
        <t><strong>One mechanism, many issuance moments.</strong> The decision point is
structurally identical across grant types: a party is asking for a token,
naming a target and some set of privileges. This document defines that
mapping once. Bindings (<xref target="companions"/>) supply what is specific to a given
grant or token type, and are expected to be short.</t>
        <t><strong>Interoperability at the level of policy, not just wire format.</strong>
          <xref target="AUTHZEN"/> makes exactly five fields mandatory in an evaluation request:
<tt>subject.type</tt>, <tt>subject.id</tt>, <tt>action.name</tt>, <tt>resource.type</tt>, and
<tt>resource.id</tt>. Everything else - the <tt>properties</tt> bag on each entity, and the
<tt>context</tt> object - is optional. That asymmetry is deliberate. It is what
allows one request shape to be understood by policy engines with very
different internal models: attribute- and policy-based engines that evaluate
expressions over arbitrary input, and relationship-based engines in the style
of <xref target="ZANZIBAR"/> that reason over a typed graph of subjects, relations, and
objects.</t>
        <t>This is not a claim that a relationship-based engine can consume nothing
beyond the five-tuple. Such engines commonly accept contextual tuples
supplied at query time, and a PDP may project <tt>properties</tt> or <tt>context</tt> into
them. It is a claim about where a profile should put the load. The five-tuple
has a shape every conforming PDP can be expected to read the same way; a
free-form bag does not, and a profile that carried its decision-critical
inputs there would nominally use AuthZEN while leaving each PDP to infer the
semantics on its own.</t>
        <t>This document therefore adopts a design rule:</t>
        <ul empty="true">
          <li>
            <t>The five-tuple is the primary information model target. Every input on
which the decision depends <bcp14>MUST</bcp14> be expressed in it. <tt>properties</tt> and
<tt>context</tt> carry advisory input only, and a conforming mapping <bcp14>MUST</bcp14> be
implementable by a PDP that reads only the five-tuple.</t>
          </li>
        </ul>
        <t>The rule is applied throughout and is not re-argued at each mapping.</t>
        <t><strong>Least surprise for the AS.</strong> The profile does not ask the AS to surrender
decisions it is authoritative for. A PDP may narrow what is issued; it may
not broaden it, re-subject it, or re-target it (<xref target="no-broadening"/>).</t>
      </section>
      <section anchor="scope">
        <name>Scope</name>
        <t>This document covers <strong>token issuance</strong>: the decision made by an
authorization server at its token endpoint, before a token is minted. It
does not address enforcement at a resource server, which is the ordinary
case AuthZEN already serves and requires no profile.</t>
        <t>The framework decides an <strong>issuance gate</strong>. Where a deployment's policy
depends on quantitative or transactional constraints - a payment amount, a
rate limit - those flow in as advisory context and out as token shaping
(<xref target="shaping"/>), to be enforced by downstream policy enforcement points. Any
conforming PDP can adjudicate the gate, because the gate is expressed
entirely in the five-tuple. Whether a given PDP also adjudicates the context
is a property of that deployment and is not something this profile
guarantees. Stating that boundary is what keeps the design rule above from
overpromising.</t>
      </section>
      <section anchor="requirements-language">
        <name>Requirements Language</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>
    <section anchor="terminology">
      <name>Terminology</name>
      <t>This document uses the terms Authorization Server, Client, Resource Server,
access token, and scope from <xref target="RFC6749"/>; Policy Decision Point (PDP),
Policy Enforcement Point (PEP), Subject, Action, Resource, and Context from
<xref target="AUTHZEN"/>.</t>
      <dl>
        <dt>Issuance target:</dt>
        <dd>
          <t>The audience of the access being granted - the party the issued token
authorizes its bearer to act against. Usually the value the AS intends for
the token's <tt>aud</tt> claim.</t>
        </dd>
        <dt>Gate tuple:</dt>
        <dd>
          <t>An evaluation request whose action expresses <em>issuance authority</em> - whether
the subject may obtain a token of a given type for the issuance target.
See <xref target="gate-and-scope"/>.</t>
        </dd>
        <dt>Scope tuple:</dt>
        <dd>
          <t>An evaluation request whose action is a requested scope, expressing
<em>access authority</em>. See <xref target="gate-and-scope"/>.</t>
        </dd>
      </dl>
    </section>
    <section anchor="architecture">
      <name>Architecture</name>
      <artwork type="ascii-art"><![CDATA[
+--------+           +----------------------+        +-------+
| Client |           | Authorization Server |        |  PDP  |
+---+----+           |        (PEP)         |        +---+---+
    |                +----------+-----------+            |
    | 1. token req              |                        |
    +-------------------------->|                        |
    |                           | 2. authn client,       |
    |                           |    validate grant      |
    |                           |                        |
    |                           | 3. evaluation request  |
    |                           +----------------------->|
    |                           |                        |
    |                           | 4. decision + shaping  |
    |                           |<-----------------------+
    |                           |                        |
    |                           | 5. mint per decision   |
    |                           |    and shaping         |
    | 6. token response         |                        |
    |<--------------------------+                        |
]]></artwork>
      <t>Step 2 is unchanged from the underlying grant: the AS remains solely
responsible for authenticating the client, validating the grant or subject
token, and verifying any proof of possession. The PDP is consulted only
after those checks succeed. A PDP permit does not substitute for any of
them.</t>
    </section>
    <section anchor="deployment">
      <name>Deployment Considerations</name>
      <section anchor="colocation">
        <name>Colocation and Latency</name>
        <t>A token endpoint can be a very high volume path. Multi-tenant authorization
servers operate at request rates that leave a per-request budget in the low
milliseconds, and an issuance decision that added a round trip to a remote
service would not be deployable at that scale.</t>
        <t>This profile does not add one. <xref target="AUTHZEN"/> specifies a request and response
contract between a Policy Enforcement Point and a Policy Decision Point; it
does not specify where the Policy Decision Point runs. The PDP of
<xref target="architecture"/> may be embedded in the authorization server's own process,
loaded as a module or as a WebAssembly component, resident on the same host,
or reached over a network. Conformance to this profile is a property of the
messages exchanged and not of the topology that carries them, and
deployments with the strictest budgets are expected to evaluate in process
or on the same host. Step 3 of <xref target="architecture"/> is drawn as an arrow because
it is a request, not because it is a hop.</t>
        <t>Two properties of the issuance moment make the budget more forgiving than
the volume alone suggests.</t>
        <t>The decision is made once per token rather than once per request. An access
token is presented many times, over a lifetime usually measured in minutes
or hours, so the cost of deciding at issuance is amortized across every
later presentation. This is the reverse of the resource server deployments
<xref target="AUTHZEN"/> was first written for, where the decision recurs on every call
and the budget is correspondingly tighter.</t>
        <t>The inputs are already in hand. By the time an AS reaches this decision it
has authenticated the client, validated the grant, and resolved the subject.
The evaluation request of <xref target="request"/> is assembled from values the AS
already holds, and this profile implies no additional lookup to construct
it.</t>
      </section>
      <section anchor="deferred">
        <name>Decisions That Cannot Be Made Synchronously</name>
        <t>Some issuance decisions cannot complete within the time a token request will
wait, at any topology. A policy may call for human review, for an
out-of-band approval, or for a check against a system whose own latency is
unbounded.</t>
        <t>This document defines no mechanism for those, and does not need to.
<xref target="I-D.gerber-oauth-deferred-token-response"/> defines a deferred token
response, in which an authorization server that cannot answer immediately
returns a deferral code and the client retrieves the outcome later. An AS
implementing both may treat a decision it cannot obtain synchronously as a
deferral rather than as a denial, evaluate it out of band, and apply the
response of <xref target="shaping"/> to the token it eventually issues. Delay does not
relax <xref target="no-broadening"/>: a decision that arrives late constrains the issued
token exactly as one that arrives promptly would.</t>
      </section>
      <section anchor="as-seam">
        <name>The Seam Inside the Authorization Server</name>
        <t><xref target="architecture"/> separates validating a grant from deciding whether to honor
it, and asks a PDP only the second question. In a deployed authorization
server that separation is often less clean than the figure. Credential
handling, grant validation, session and consent state, and token minting are
commonly one subsystem, with the inputs this profile needs distributed across
it rather than exposed at any single point.</t>
        <t>The consequence is practical rather than normative. An authorization server
that cannot assemble the fields of <xref target="request"/> at one point in its issuance
path will have to introduce such a point, and for many implementations that
will be the substantive work rather than the mapping or the response
handling. This profile is defined in terms of the values an AS holds when it
makes the decision, not in terms of where an implementation keeps them, so it
constrains neither the internal structure nor the refactoring.</t>
      </section>
    </section>
    <section anchor="request">
      <name>Forming the Evaluation Request</name>
      <section anchor="subject">
        <name>Subject</name>
        <t><tt>subject</tt> identifies the party the issued token will represent.</t>
        <t><tt>subject.type</tt> <bcp14>MUST</bcp14> be one of the registered values in <xref target="iana-types"/>:</t>
        <ul spacing="normal">
          <li>
            <t><tt>user</tt> - a natural person.</t>
          </li>
          <li>
            <t><tt>client</tt> - an OAuth client acting on its own behalf.</t>
          </li>
          <li>
            <t><tt>workload</tt> - a non-human software identity, such as a workload with a
cryptographic identity document.</t>
          </li>
        </ul>
        <t><tt>subject.id</tt> <bcp14>MUST</bcp14> be the identifier the AS intends to place in the issued
token's subject claim. Where the AS applies a transformation to subject
identifiers - pairwise or pseudonymous identifiers, or a mapping from an
external identity to a local account - that transformation <bcp14>MUST</bcp14> be applied
<em>before</em> the evaluation request is constructed, so that the identifier the
PDP authorizes is the identifier the token carries.</t>
      </section>
      <section anchor="resource">
        <name>Resource</name>
        <t>For the gate and scope tuples of <xref target="gate-and-scope"/>, <tt>resource.type</tt> <bcp14>MUST</bcp14> be
<tt>audience</tt> and each <tt>resource.id</tt> <bcp14>MUST</bcp14> be an issuance target. Authorization
detail tuples name their resource differently, as <xref target="rar-tuple"/> sets out.</t>
        <t>A single registered type is used rather than a type per kind of target
(service, trust domain, peer authorization server) because the type names
the <em>protocol role</em> the target plays, not a guess at its nature. Policies
written against <tt>audience</tt> port across deployments; policies written against
locally invented type names do not.</t>
        <t>The <strong>requested targets</strong> of a request are the values it carries in a
<tt>resource</tt> parameter in the sense of <xref target="RFC8707"/>, in an <tt>audience</tt> parameter
where the binding defines one, or in both. Where the request carries neither,
the AS's default audience for the grant is the sole requested target.</t>
        <section anchor="one-target">
          <name>One Target Is the Preferred Shape</name>
          <t>A request <bcp14>SHOULD</bcp14> name a single target.</t>
          <t>This profile does not introduce that preference; it inherits it.
<xref target="RFC8707"/> Section 5 encourages using only a single <tt>resource</tt> parameter,
observing that a token valid at several protected resources "can be used by
any one of those resources to access any of the others", so that multiple
audiences presuppose a high degree of trust among the recipients.
<xref target="RFC9700"/> Section 4.10.2 describes the same practice from the other
direction: an access token is bound to a specific resource server, so a
client reaching several obtains a token for each.</t>
          <t>An AS <bcp14>MAY</bcp14> reject a request naming more than one target. <xref target="RFC8707"/> Section 5
anticipates this, noting that an authorization server may be unwilling or
unable to fulfill such a request. Where the AS does reject one, the
requirements of <xref target="composition"/> do not arise.</t>
        </section>
        <section anchor="several-targets">
          <name>Several Targets</name>
          <t>A request may nonetheless name more than one: <xref target="RFC8707"/> Section 2 permits
the <tt>resource</tt> parameter to appear multiple times, and <xref target="RFC8693"/> Section 2.1
permits the same of <tt>audience</tt> and <tt>resource</tt> in a token exchange request. An
AS that accepts such a request has more than one issuance target, and whether
the subject may reach each of them is a separate question.</t>
          <t>Because the information model of <xref target="AUTHZEN"/> carries exactly one resource per
evaluation, a request naming several targets <bcp14>MUST</bcp14> be expressed as several
evaluations rather than as one evaluation naming a compound target. The
tuples of <xref target="gate-and-scope"/> are formed once for each requested target, and
<tt>resource</tt> is carried on the individual evaluation object, overriding the
top-level default as <xref target="AUTHZEN"/> Section 7.1.1 provides.</t>
          <t>This is also what makes the <tt>audience</tt> constraining key of <xref target="shaping"/>
reachable. That key narrows a <em>set</em> of targets, and a set can only be
narrowed if the request was able to put more than one member in it.</t>
          <t><xref target="ex-rar-two"/> shows a two-target request on the wire.</t>
        </section>
      </section>
      <section anchor="gate-and-scope">
        <name>Actions: Gate, Scope, and Authorization Detail Tuples</name>
        <t>Token issuance asks two questions that are frequently conflated:</t>
        <ol spacing="normal" type="1"><li>
            <t>May this subject obtain <em>a token of this kind</em> for this target? This is
<strong>issuance authority</strong>, and in delegation scenarios, delegation
authority.</t>
          </li>
          <li>
            <t>May this subject exercise <em>this scope</em> at this target? This is <strong>access
authority</strong>.</t>
          </li>
        </ol>
        <t>These are distinct privileges. <xref target="RFC8693"/> defines a <tt>may_act</tt> claim
precisely because the authority to act on another party's behalf is not the
same as the authority to access a resource. A subject may legitimately be
permitted to hold an access token for an API while being forbidden from
minting a delegated grant aimed at that same API.</t>
        <t>Because AuthZEN's information model provides exactly one action per
evaluation, these two questions <bcp14>MUST</bcp14> be expressed as separate evaluations
rather than as two interpretations of one <tt>action.name</tt>.</t>
        <t>A request carrying <tt>authorization_details</tt> (<xref target="RFC9396"/>) asks the second
question in a richer vocabulary than a scope string, and gets a third tuple
shape (<xref target="rar-tuple"/>) rather than a reinterpretation of the second.</t>
        <section anchor="gate-tuple">
          <name>Gate Tuple</name>
          <t>A gate tuple is an evaluation whose <tt>action.name</tt> has three colon-separated
segments:</t>
          <artwork><![CDATA[
issue:<token-type>:<grant-type>
]]></artwork>
          <t>where <tt>&lt;token-type&gt;</tt> and <tt>&lt;grant-type&gt;</tt> are short names registered in
<xref target="iana-actions"/> - for example <tt>issue:access_token:authorization_code</tt>,
<tt>issue:id_token:authorization_code</tt>, <tt>issue:refresh_token:token_exchange</tt>.</t>
          <t>The <tt>issue:</tt> prefix is reserved. A deployment <bcp14>MUST NOT</bcp14> use a scope value
beginning with <tt>issue:</tt> as a scope tuple action. <xref target="ex-cc"/> shows a gate tuple
in a request.</t>
          <t>The grant is part of the action because it is not recoverable from the rest
of the tuple and it is not implied by the token type. The same subject,
audience, and token type arise from an authorization code request and from
its later refresh, and from a client requesting a token for itself and that
same client exchanging for one. A policy that distinguishes those cases -
requiring fresh authorization at a high-value audience, or permitting a
client to hold a token but not to exchange for one - has nothing to attach
to unless the grant is in the five-tuple.</t>
          <t>Neither segment subsumes the other. A single authorization code request may
mint an access token, a refresh token, and an ID token, which are separately
gateable; and a token exchange selects its output through
<tt>requested_token_type</tt>, so its token type is a variable of the request.
Together the two segments name one privilege: what may be minted, and by
what means.</t>
        </section>
        <section anchor="action-portability">
          <name>Action Name Portability</name>
          <t>Short names registered under <xref target="iana-actions"/> <bcp14>MUST</bcp14> match
<tt>[a-z][a-z0-9_]{0,30}</tt>, and a composed gate action name <bcp14>MUST NOT</bcp14> exceed 50
characters.</t>
          <t>The bounds exist for portability. Relationship-based engines commonly
validate relation identifiers against a restricted grammar, admitting a small
character set within a modest length limit. A PDP built on such an engine can
canonicalize an action name defined by this document by replacing each <tt>:</tt>
with a character the grammar admits, conventionally <tt>_</tt>. The bounds above are
what make that transformation total: any registered name survives it, so a
policy written against these names ports without being rewritten.</t>
          <t>Carrying a grant type URI verbatim would not survive it. The composed action
name would exceed the length limits such grammars impose before any question
of characters arose.</t>
          <t>The guarantee covers only the vocabulary this document defines. Scope values
are carried verbatim (<xref target="scope-tuple"/>) and routinely contain characters no
such grammar admits; mapping them remains internal to the PDP.</t>
        </section>
        <section anchor="scope-tuple">
          <name>Scope Tuple</name>
          <t>A scope tuple is an evaluation whose <tt>action.name</tt> is a single requested
scope value, carried verbatim.</t>
          <t>Scope values are not transformed into policy-engine relation names by the
AS. Any such mapping is internal to the PDP. This keeps <tt>action.name</tt> a
stable interface: the AS reports what the client asked for, and the PDP
decides what that means in its own policy vocabulary.</t>
          <t><xref target="ex-downscope"/> shows three scope tuples behind a gate, one of them denied.</t>
        </section>
        <section anchor="rar-tuple">
          <name>Authorization Detail Tuple</name>
          <t>Where the request carries <tt>authorization_details</tt> (<xref target="RFC9396"/>), each entry
in the array yields one or more evaluations.</t>
          <t>An entry is a product, not a single permission. <xref target="RFC9396"/> Section 2.2:
"When different common data fields are used in combination, the permissions
the client requests are the product of all the values. The object represents
a request for all <tt>actions</tt> values listed within the object to be used at all
<tt>locations</tt> values listed within the object for all <tt>datatypes</tt> values listed
within the object." Figure 6 of that document is the client's escape hatch: a
client that does not want the whole product sends several entries instead.
Asking the PDP one question per cell therefore asks exactly the questions the
entry poses, and asking fewer answers a coarser question than the client
asked.</t>
          <t>The AS forms one evaluation per cell:</t>
          <table>
            <thead>
              <tr>
                <th align="left">RAR member</th>
                <th align="left">AuthZEN</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">
                  <tt>type</tt></td>
                <td align="left">
                  <tt>resource.type</tt></td>
              </tr>
              <tr>
                <td align="left">each <tt>locations</tt> value</td>
                <td align="left">
                  <tt>resource.id</tt></td>
              </tr>
              <tr>
                <td align="left">each <tt>actions</tt> value</td>
                <td align="left">
                  <tt>action.name</tt>, leading segments</td>
              </tr>
              <tr>
                <td align="left">each <tt>datatypes</tt> value</td>
                <td align="left">
                  <tt>action.name</tt>, final segment</td>
              </tr>
            </tbody>
          </table>
          <t><tt>action.name</tt> is the <tt>actions</tt> value alone where the entry has no
<tt>datatypes</tt>, and the <tt>actions</tt> value and the <tt>datatypes</tt> value joined by a
colon otherwise, the datatype last:</t>
          <artwork><![CDATA[
<action>
<action>:<datatype>
]]></artwork>
          <t>The datatype is recovered as the segment following the final colon. An AS
<bcp14>MUST NOT</bcp14> form a compound name where the <tt>datatypes</tt> value itself contains a
colon; such an entry is decomposed on <tt>locations</tt> and <tt>actions</tt> only, and its
datatype axis is narrowed on the response side alone (<xref target="rar-response"/>).</t>
          <t>These names cannot be confused with the gate names of <xref target="gate-tuple"/>. A gate
tuple always names a resource whose type is <tt>audience</tt>; an authorization
detail tuple never does, because <tt>resource.type</tt> is the entry's own <tt>type</tt>.
The two may name the same <tt>resource.id</tt> and remain distinct questions, which
<xref target="ex-rar-one"/> shows.</t>
          <t><xref target="ex-rar-two"/> shows an entry decomposing into the four cells of a two by two
product, and one of them denied.</t>
          <t>Only <tt>type</tt> is <bcp14>REQUIRED</bcp14> of an entry (<xref target="RFC9396"/> Section 2), so an axis may
be absent:</t>
          <table>
            <thead>
              <tr>
                <th align="left">Absent member</th>
                <th align="left">Substituted</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">
                  <tt>locations</tt></td>
                <td align="left">Each requested target of <xref target="resource"/></td>
              </tr>
              <tr>
                <td align="left">
                  <tt>actions</tt></td>
                <td align="left">The reserved name <tt>authorization_detail</tt></td>
              </tr>
              <tr>
                <td align="left">
                  <tt>datatypes</tt></td>
                <td align="left">No compounding; <tt>action.name</tt> is the action alone</td>
              </tr>
            </tbody>
          </table>
          <t>Substituting the requested targets for an absent <tt>locations</tt> continues the
audience restriction the member itself performs. <xref target="RFC9396"/> Section 12
describes <tt>locations</tt> as preventing unintended client authorizations "through
audience restriction", and Section 9.1 recommends that an AS minting a JWT
access token filter the authorization details to the specific audience. Where
an entry names no location, the request's own targets are the audience it is
restricted to.</t>
          <t><tt>privileges</tt> and <tt>identifier</tt> are not decomposed. Section 2.2's product
sentence names actions, locations, and datatypes, so whether <tt>privileges</tt>
multiplies is unstated, and <tt>identifier</tt> is a scalar with no multiplicity.</t>
          <t>Nor does the decomposition reach a type that carries its multiplicity in
type-specific members rather than in the common data fields - a consent
object enumerating individual permissions, for instance. Such an entry
yields one evaluation per location. This is the prevailing shape in deployed
open banking profiles, so it is not a corner case.</t>
          <t>An undecomposed member is not shown to the PDP, and a PDP cannot narrow
against a value it was not sent. What it can still do is narrow by policy:
knowing the subject, the type, and the location, it may return an entry
whose <tt>datatypes</tt> or type-specific members are the most this subject may
ever reach there. Such an entry is still subject to the structural check of
<xref target="rar-response"/>, so a PDP that returns more than was requested has its
decision rejected rather than trimmed. Narrowing against the request itself
remains the AS's own obligation under <xref target="RFC9396"/> Section 6.</t>
          <t>Decomposing the entry is also what makes the structural check of
<xref target="rar-response"/> derivable rather than asserted. An entry whose <tt>locations</tt>,
<tt>actions</tt>, and <tt>datatypes</tt> are subsets of the request's is exactly an entry
reassembled from cells the PDP permitted.</t>
        </section>
        <section anchor="gate-required">
          <name>Gate Tuples Are Always Present</name>
          <t>An AS <bcp14>MUST</bcp14> include a gate tuple in every evaluation request it forms under
this profile. A binding <bcp14>MAY</bcp14> require more than one (<xref target="composition"/>).</t>
          <t>The floor is therefore two evaluations for a single-target request naming
scopes, and one for a single-target request naming none. Deployments are
expected to write issuance policy
for every token type and grant combination their AS can produce; a PDP that
advertises support for this profile renders a decision on any registered gate
action it is sent (<xref target="discovery"/>), so an AS never has to predict which
combinations a given PDP has policy for.</t>
        </section>
      </section>
      <section anchor="context">
        <name>Context</name>
        <t>The <tt>context</tt> object carries advisory input. A conforming PDP <bcp14>MUST</bcp14> be able
to render a decision without it.</t>
        <t>The following keys are defined by this document; bindings may define more:</t>
        <table>
          <thead>
            <tr>
              <th align="left">Key</th>
              <th align="left">Type</th>
              <th align="left">Value</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">
                <tt>client_id</tt></td>
              <td align="left">string</td>
              <td align="left">The authenticated client identifier</td>
            </tr>
            <tr>
              <td align="left">
                <tt>acr</tt></td>
              <td align="left">string</td>
              <td align="left">Authentication context class of the subject</td>
            </tr>
            <tr>
              <td align="left">
                <tt>amr</tt></td>
              <td align="left">array of strings</td>
              <td align="left">Authentication methods, per <xref target="RFC8176"/></td>
            </tr>
            <tr>
              <td align="left">
                <tt>auth_time</tt></td>
              <td align="left">integer</td>
              <td align="left">Time of authentication, as in <xref target="RFC7519"/></td>
            </tr>
            <tr>
              <td align="left">
                <tt>cnf</tt></td>
              <td align="left">object</td>
              <td align="left">Confirmation method of the presented credential</td>
            </tr>
            <tr>
              <td align="left">
                <tt>jti</tt></td>
              <td align="left">string</td>
              <td align="left">Identifier of the token the AS intends to mint (<xref target="correlation"/>)</td>
            </tr>
          </tbody>
        </table>
        <t>The single-type rule of <xref target="envelope"/> applies here as well: each key above has
one JSON type, and bindings defining further context keys <bcp14>MUST</bcp14> state a type
for each.</t>
        <t>Per <xref target="design-goals"/>, any input on which the decision genuinely depends
belongs in the five-tuple, not here. The grant type is the worked example:
it is decision-critical, so it is a segment of the gate action name
(<xref target="gate-tuple"/>) and does not appear in <tt>context</tt> at all.</t>
        <section anchor="correlation">
          <name>Correlation</name>
          <t>An operator running an authorization server against a separately operated
policy decision point has two decision logs and no defined way to join them.
An AS <bcp14>MAY</bcp14> include in <tt>context</tt> the <tt>jti</tt> of the token it intends to mint, so
that the record the PDP writes and the token the AS issues carry the same
identifier.</t>
          <t>It is a <bcp14>MAY</bcp14> because of an ordering problem: at evaluation time the token does
not exist, so an AS that sends a <tt>jti</tt> has allocated it in advance, and on a
denial that identifier is spent on a token that is never issued. Whether to
pre-allocate, and what to do with identifiers spent on denied requests, is an
implementation matter for the AS and is outside the scope of this document.
An AS that does not pre-allocate omits the key.</t>
          <t>Supplying <tt>jti</tt> as an input does not disturb the reservation in <xref target="claims"/>.
The AS remains authoritative for the claim, and a PDP <bcp14>MUST NOT</bcp14> set it in the
response.</t>
        </section>
      </section>
      <section anchor="composition">
        <name>Batching and Result Composition</name>
        <section anchor="batch">
          <name>Forming the Batch</name>
          <t>For each requested target (<xref target="resource"/>), the AS forms:</t>
          <ul spacing="normal">
            <li>
              <t>a gate tuple (<xref target="gate-tuple"/>), and</t>
            </li>
            <li>
              <t>one scope tuple (<xref target="scope-tuple"/>) for each requested scope,</t>
            </li>
          </ul>
          <t>each carrying that target as its <tt>resource</tt>. Where the request carries
<tt>authorization_details</tt>, the AS also forms the authorization detail tuples of
<xref target="rar-tuple"/>, which carry a resource of their own.</t>
          <t>This document produces one gate tuple per target. Bindings may produce more:
the token exchange family evaluates the authority of the requesting party
separately from that of the subject, and so produces two per target.</t>
          <t>Where a request yields more than one tuple, the AS <bcp14>MUST</bcp14> use the Access
Evaluations API of <xref target="AUTHZEN"/> with <tt>options.evaluations_semantic</tt> set to
<tt>execute_all</tt>, and <bcp14>MUST</bcp14> place gate tuples at the leading indices of the
<tt>evaluations</tt> array, beginning at index 0. The response lists decisions in
request order (<xref target="AUTHZEN"/> Section 7.2), so the AS recovers which target,
scope, or authorization detail cell each decision belongs to by position.</t>
          <t>A request reduces to a single evaluation only when it names one target, no
scopes, and no authorization details, in which case the gate tuple stands
alone. <xref target="ex-no-scopes"/> is that case, and <xref target="ex-cc"/> the smallest batch.</t>
          <t><tt>execute_all</tt> is required because a denial must be able to narrow the grant
rather than fail it. <xref target="AUTHZEN"/> evaluation semantics are selected per request
and cannot mark an individual batch item as a precondition, so the composition
rules below are enforced by the AS. This is well within the PEP's role - the
AS is already interpreting per-item results in order to downscope.</t>
        </section>
        <section anchor="residue">
          <name>The Batch Carries Only the Residue</name>
          <t>Before forming the batch, an AS <bcp14>MUST</bcp14> apply the reductions it is itself
authoritative for, and <bcp14>MUST</bcp14> form tuples only for what survives them.</t>
          <t>Those reductions already exist. <xref target="RFC6749"/> Section 3.3 permits an AS to
issue a token whose scope is narrower than the one requested. <xref target="RFC9396"/>
Section 6 is stronger still: the AS "checks whether the underlying grant ...
or the client's policy ... allows the issuance of an access token with the
requested authorization details", and refuses with
<tt>invalid_authorization_details</tt> where it does not. Neither is introduced
here; this profile only fixes their order relative to the PDP call.</t>
          <t>The reason to fix that order is <xref target="no-broadening"/>. A PDP may narrow what is
issued and may not broaden it, so a permit on something the AS had already
decided to refuse cannot change the outcome. Asking anyway writes a decision
into the PDP's record that corresponds to no issued authority, which is
worse than not asking: the two logs the profile is otherwise careful to let
an operator join (<xref target="correlation"/>) stop agreeing.</t>
          <t>The batch therefore expresses the request as the AS is prepared to grant it,
and the PDP narrows from there.</t>
        </section>
        <section anchor="bounded">
          <name>The Batch Is Bounded</name>
          <t>What remains after that reduction is still sized by the client. An AS <bcp14>MUST</bcp14>
bound the number of evaluations it will form for a single token request, and
<bcp14>MUST</bcp14> reject a request that would exceed the bound.</t>
          <t>This document does not specify the value. <xref target="RFC9126"/> Section 2.3 is the
precedent: it directs an AS to answer an oversized pushed request with 413
and an over-frequent client with 429, and names no number for either. The
bound that is right for a deployment depends on its PDP, and a number written
here would be wrong somewhere.</t>
          <t>The error is the one belonging to the parameter that overran the bound:
<tt>invalid_authorization_details</tt> (<xref target="RFC9396"/> Section 6), <tt>invalid_scope</tt>
(<xref target="RFC6749"/>), or, for token exchange requests, <tt>invalid_target</tt>
(<xref target="RFC8693"/>). Where more than one contributed, any of them is correct.
<tt>invalid_request</tt> is not, because it does not tell the client what to
shorten.</t>
        </section>
        <section anchor="gate-denial">
          <name>A Denied Gate Removes a Target</name>
          <t>A gate tuple governs one target. Where its decision is <tt>false</tt>, that target
is removed from the request: the AS <bcp14>MUST NOT</bcp14> name it in the audience of any
token it issues, and <bcp14>MUST</bcp14> disregard the scope tuples formed for it and any
authorization detail tuple naming it as <tt>resource.id</tt>.</t>
          <t>Where every target is removed, the AS <bcp14>MUST</bcp14> fail the request and <bcp14>MUST NOT</bcp14>
issue a token. For token exchange requests the appropriate error is
<tt>invalid_target</tt> (<xref target="RFC8693"/>).</t>
          <t>An AS <bcp14>MAY</bcp14> instead fail the whole request when any gate is denied.
<xref target="one-target"/> already permits it to refuse a multi-target request outright,
and an AS unwilling to issue a token for a subset of what was asked for is
exercising the same discretion later. <xref target="ex-rar-two"/> closes on what a denied
gate would have removed from the batch shown there.</t>
          <t>Where one target was requested, both rules coincide: a denied gate fails the
request.</t>
        </section>
        <section anchor="scope-denial">
          <name>A Denied Scope Must Narrow Every Target</name>
          <t>A scope tuple governs one scope at one target. A scope is carried in the
issued token only where it was permitted at <em>every</em> surviving target. The AS
reports the reduced set in the <tt>scope</tt> response parameter, as <xref target="RFC6749"/>
already requires.</t>
          <t>This intersection is not introduced here. <xref target="RFC9068"/> Section 2.2.3 requires
that "all the individual scope strings in the <tt>scope</tt> claim <bcp14>MUST</bcp14> have meaning
for the resources indicated in the <tt>aud</tt> claim"; the plural is the operative
part. Section 3 of the same document requires that an AS "<bcp14>MUST NOT</bcp14> issue a
JWT access token if the authorization granted by the token would be
ambiguous". A scope permitted at one audience and denied at another, carried
in a token naming both, is that ambiguity exactly: no recipient can determine
whether the scope was granted for itself or for the other.</t>
          <t>An AS that wants a scope to survive at one target and not another issues a
token per target, which is the shape <xref target="one-target"/> prefers in the first
place.</t>
          <t>Where the request named scopes and none survive, and no authorization detail
entry survives either, the AS <bcp14>MUST</bcp14> fail the request rather than issue an
empty token, even though the gate permitted it. A permitted gate authorizes a
token of that kind to exist; it does not authorize an empty one.</t>
          <t><xref target="ex-downscope"/> shows a partial denial narrowing a single-target request.</t>
        </section>
        <section anchor="rar-denial">
          <name>A Denied Cell Narrows an Entry</name>
          <t>An authorization detail tuple governs one cell of one entry. The AS
reassembles each entry from the cells that were permitted, so that a denied
cell narrows the entry rather than failing it.</t>
          <t>The surviving cells of an entry need not be expressible as one entry, since
an entry is a product and the survivors need not be a rectangle. Where they
are not, the AS reassembles them as several entries of the same <tt>type</tt>, which
is the shape Figure 6 of <xref target="RFC9396"/> defines for a client wanting exactly
this. An AS <bcp14>MUST NOT</bcp14> instead widen the result to the smallest single entry
containing the survivors, which would return a cell the PDP denied.
<xref target="ex-rar-two"/> works through such a split.</t>
          <t>Where an entry's <tt>locations</tt> was absent and its tuples were therefore fanned
across several targets, a cell survives only where it was permitted at every
surviving target, for the reason given in <xref target="scope-denial"/>.</t>
          <t>An entry with no surviving cells is dropped. Where the request carried
<tt>authorization_details</tt> and no entry survives, the AS <bcp14>MUST</bcp14> fail the request
with <tt>invalid_authorization_details</tt>, which <xref target="RFC9396"/> Section 6 already
defines for a token request whose authorization details the AS will not
grant.</t>
          <t>Reassembly is what the AS does absent a <tt>authorization_details</tt> key in the
response. Where the PDP returns one, it replaces the reassembled array and is
checked against the request as <xref target="rar-response"/> requires.</t>
        </section>
      </section>
    </section>
    <section anchor="shaping">
      <name>Processing the Evaluation Response</name>
      <t>A PDP <bcp14>MAY</bcp14> return, in the response <tt>context</tt>, information that shapes the
token the AS issues.</t>
      <section anchor="envelope">
        <name>The <tt>issuance</tt> Envelope</name>
        <t>All keys defined by this profile appear within a single <tt>issuance</tt> member of
the response <tt>context</tt>:</t>
        <sourcecode type="json"><![CDATA[
{
  "decision": true,
  "context": {
    "reason_admin": { "200": "matched policy P-4471" },
    "issuance": {
      "token_lifetime": 300,
      "claims": { "groups": ["engineering"] }
    }
  }
}
]]></sourcecode>
        <t>An AS implementing this profile <bcp14>MUST</bcp14> process <tt>context.issuance</tt> and <bcp14>MUST</bcp14>
ignore unrecognized members outside it, preserving the advisory character
that <xref target="AUTHZEN"/> gives response context generally.</t>
        <t>The examples of <xref target="examples"/> carry the envelope on live responses:
<tt>token_lifetime</tt> in <xref target="ex-cc"/>, <tt>claims</tt> in <xref target="ex-downscope"/>, and
<tt>granted_scope</tt> in <xref target="ex-no-scopes"/>.</t>
        <t>Every key defined below has exactly one JSON type, and bindings that define
further keys <bcp14>MUST</bcp14> do the same. Where the corresponding OAuth or JWT
construct admits more than one - <tt>aud</tt> is the notable case, per Section
4.1.3 of <xref target="RFC7519"/> - this profile picks one rather than carrying the
polymorphism forward. An AS validates the response context before acting on
it, and a union type costs more to validate, to schematize, and to project
into a typed representation than the shorthand saves.</t>
      </section>
      <section anchor="mtu">
        <name>Mandatory-to-Understand</name>
        <t><xref target="AUTHZEN"/>, in the definitions of the <tt>decision</tt> values in its Decision
section, states that where a PEP does not understand information in the
response context, the PEP <bcp14>MAY</bcp14> reject the decision. That permission is
appropriate for a general-purpose API in which response context is advisory.
It is not sufficient here, because the consequences are asymmetric:</t>
        <ul spacing="normal">
          <li>
            <t>Ignoring a key that <strong>narrows</strong> the grant yields a token <strong>broader than
the PDP authorized</strong> - a silent privilege escalation.</t>
          </li>
          <li>
            <t>Ignoring a key that <strong>adds</strong> information yields a token narrower than
intended - a functional shortfall, not a security failure.</t>
          </li>
        </ul>
        <t>This profile therefore adopts the following rule, from which the treatment
of every key below is derived:</t>
        <ul empty="true">
          <li>
            <t>A response-context key is mandatory-to-understand if and only if ignoring
it would produce a token broader than the PDP authorized. For such keys,
an AS that does not understand and apply the key <bcp14>MUST</bcp14> treat the permit as
a denial.</t>
          </li>
        </ul>
      </section>
      <section anchor="no-broadening">
        <name>No Broadening</name>
        <t>A PDP <bcp14>MUST NOT</bcp14> return a shaping value that grants access the AS would not
otherwise have granted, and an AS <bcp14>MUST</bcp14> reject a decision that attempts it.</t>
        <t>The PDP decides whether and how much; it does not decide what else. Without
this rule, an evaluation of <tt>files.read</tt> could return a token bearing
<tt>admin</tt>, and the token would assert a privilege no evaluation ever
considered.</t>
      </section>
      <section anchor="constraining-keys">
        <name>Constraining Keys</name>
        <t>The keys in this section are mandatory-to-understand under <xref target="mtu"/>.</t>
        <section anchor="grantedscope">
          <name><tt>granted_scope</tt></name>
          <t>A space-delimited string in the syntax of the <tt>scope</tt> parameter of
<xref target="RFC6749"/>, giving the scope set the AS is authorized to grant.</t>
          <t><tt>granted_scope</tt> <bcp14>MUST</bcp14> be a subset of the scopes the AS would otherwise have
granted - the requested scopes, or for a request naming none, the AS's
default set for that client and target. The AS <bcp14>MUST</bcp14> reject the decision
otherwise.</t>
          <t>Its principal use is the gate-only evaluation, where there are no scope
tuples and this key is how a PDP answers "permit, and grant this set."
Enumerating a grantable set is a search operation rather than a check; a PDP
unable to perform it returns a bare permit and the AS falls back to its own
defaults, which is a safe degradation.</t>
          <t>Where scope tuples are present, the per-item decisions already express
downscoping, and a PDP <bcp14>SHOULD NOT</bcp14> also return <tt>granted_scope</tt>.</t>
        </section>
        <section anchor="tokenlifetime">
          <name><tt>token_lifetime</tt></name>
          <t>A non-negative integer number of seconds, interpreted as a <strong>ceiling</strong>. The
AS <bcp14>MUST</bcp14> issue a token whose lifetime is the lesser of this value and the
lifetime it would otherwise have used. It is never a floor: a PDP cannot
extend a token's life beyond the AS's own policy.</t>
          <t>A value of <tt>0</tt> <bcp14>MUST</bcp14> be treated as a denial rather than as an instruction to
mint an already-expired token.</t>
        </section>
        <section anchor="audience">
          <name><tt>audience</tt></name>
          <t>An array of strings, narrowing the set of targets for which the token may be
issued. Every value <bcp14>MUST</bcp14> be the <tt>resource.id</tt> of the evaluation on which it
was returned, so the array is either that single target or empty. An
evaluation is a decision about one target, and this key lets a PDP withhold
that target while still permitting the request; it does not let one
evaluation speak for another.</t>
          <t>An empty array therefore withdraws the target that evaluation was about,
with the same effect as the denied gate of <xref target="gate-denial"/>. Where no target
survives, the AS <bcp14>MUST</bcp14> fail the request; for token exchange requests the
appropriate error is <tt>invalid_target</tt> (<xref target="RFC8693"/>).</t>
          <t>The value is an array even when it names a single target, per the
single-type rule above. An AS remains free to render a single-element set as
a bare string in the token's own <tt>aud</tt> claim, where <xref target="RFC7519"/> permits it.</t>
        </section>
        <section anchor="rar-response">
          <name><tt>authorization_details</tt></name>
          <t>An array in the syntax of <xref target="RFC9396"/>, replacing - not merged with - the
authorization details of the request.</t>
          <t>Where the PDP returns nothing, the AS reassembles the entries itself from the
cells its authorization detail tuples (<xref target="rar-tuple"/>) permitted. The key
exists for the narrowing the cells cannot express: within a type-specific
member, or along an axis <xref target="rar-tuple"/> does not decompose.</t>
          <t>Replacement admits arbitrary structured narrowing, which is what a PDP
filtering rich authorization requests needs, but "narrower" is not decidable
for arbitrary authorization detail types. This profile therefore requires:</t>
          <ul spacing="normal">
            <li>
              <t><strong>Structural check, always.</strong> Every returned entry <bcp14>MUST</bcp14> be covered by a
single entry of the request: there <bcp14>MUST</bcp14> exist a request entry with the same
<tt>type</tt> whose <tt>locations</tt>, <tt>actions</tt>, and <tt>datatypes</tt> members are supersets
of the returned entry's. Several returned entries <bcp14>MAY</bcp14> be covered by the same
request entry, which is the shape <xref target="rar-denial"/> produces. The AS <bcp14>MUST</bcp14>
reject the decision if any returned entry is covered by no request entry, or
is covered only by several of them taken together. Where a request carries
<tt>read</tt> on <tt>contacts</tt> in one entry and <tt>write</tt> on <tt>photos</tt> in another, as
Figure 6 of <xref target="RFC9396"/> does, an entry returning <tt>read</tt> on <tt>photos</tt> is
within the union of the two and within neither, and names a permission the
client did not request.</t>
            </li>
            <li>
              <t><strong>Absent members.</strong> A member absent from the covering request entry
constrains nothing, and a returned entry <bcp14>MAY</bcp14> carry a member the request
omitted: the client asked for the entry unrestricted along that axis, so
any value the PDP supplies narrows it, which is the policy narrowing
<xref target="rar-tuple"/> describes. <tt>locations</tt> is the exception, since
<xref target="rar-tuple"/> substitutes the requested targets where it is absent. A
returned entry <bcp14>MUST NOT</bcp14> name a location that is neither in the covering
request entry nor a requested target of <xref target="resource"/>.</t>
            </li>
            <li>
              <t><strong>Type-specific members.</strong> For members beyond those defined in
<xref target="RFC9396"/>, the AS <bcp14>MUST</bcp14> either apply a validator specific to that
authorization details type or reject the decision. An AS <bcp14>MUST NOT</bcp14> pass
unvalidated structure into an issued token.</t>
            </li>
          </ul>
        </section>
        <section anchor="crit">
          <name><tt>crit</tt></name>
          <t>An array of strings naming members of <tt>claims</tt> (<xref target="claims"/>) that are
themselves mandatory-to-understand. The name and semantics are taken from
the <tt>crit</tt> header parameter of <xref target="RFC7515"/>: an AS that does not understand
and apply a named member <bcp14>MUST</bcp14> treat the permit as a denial.</t>
          <t><tt>crit</tt> exists because the static classification in this section is
incomplete. A member of <tt>claims</tt> is normally safe to drop, and is
occasionally the constraint that made the permit safe.</t>
          <t>Consider a PDP that permits a payment and returns:</t>
          <sourcecode type="json"><![CDATA[
{
  "decision": true,
  "context": {
    "issuance": {
      "claims": { "max_transfer_eur": 500 },
      "crit": [ "max_transfer_eur" ]
    }
  }
}
]]></sourcecode>
          <t>The ceiling is enforced by the resource server, which reads it from the
token. An AS that drops the claim issues a token that says nothing about a
limit: the resource server has nothing to enforce, and a decision that
authorized 500 euros has become an authorization for any amount. No
statically classified key catches this, because the scope, lifetime,
audience, and authorization details are all exactly what the PDP allowed and
the claim is the only thing that made them safe.</t>
          <t>An AS may drop a claim for ordinary reasons, most often because it emits only
claim names on an allowlist. The vocabulary is domain-specific, so neither
party can settle the question in advance, and the AS learns at response time
that it cannot carry the claim. <tt>crit</tt> is what makes that a denial rather
than a silent broadening.</t>
        </section>
      </section>
      <section anchor="decorating-keys">
        <name>Decorating Keys</name>
        <section anchor="claims">
          <name><tt>claims</tt></name>
          <t>An object whose members are claim names, in the sense of <xref target="RFC7519"/>, and
the values to be included in the issued token. This is the mechanism by
which attributes computed during the decision itself reach the token: a
ceiling the policy derived while evaluating a limit, a risk tier that
determined the outcome, a structured result a binding defines.</t>
          <t>It is not the mechanism for enumerating what a subject holds. For the group
memberships, roles, and entitlements that <xref target="RFC9068"/> describes for JWT
access tokens, drawn from the schema of <xref target="RFC7643"/>, the search operations of
<xref target="AUTHZEN"/> answer the question directly, and the companion profile in
<xref target="companions"/> specifies how an AS calls them and composes the results. A PDP
<bcp14>MAY</bcp14> return such a claim in <tt>claims</tt> where its policy computes one.</t>
          <t>Members of <tt>claims</tt> are advisory under <xref target="mtu"/>: an AS that drops them issues
a less capable token. A PDP that requires a member to be honored <bcp14>MUST</bcp14> name
it in <tt>crit</tt>.</t>
          <t>A PDP <bcp14>MUST NOT</bcp14> set, and an AS <bcp14>MUST</bcp14> reject a response that sets, any of the
following claims:</t>
          <table>
            <thead>
              <tr>
                <th align="left">Reserved</th>
                <th align="left">Rationale</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">
                  <tt>iss</tt>, <tt>iat</tt>, <tt>jti</tt></td>
                <td align="left">Provenance, for which the AS is authoritative</td>
              </tr>
              <tr>
                <td align="left">
                  <tt>sub</tt></td>
                <td align="left">It is <tt>subject.id</tt>, an input to the decision</td>
              </tr>
              <tr>
                <td align="left">
                  <tt>aud</tt></td>
                <td align="left">It is <tt>resource.id</tt>, an input to the decision</td>
              </tr>
              <tr>
                <td align="left">
                  <tt>exp</tt>, <tt>nbf</tt></td>
                <td align="left">Expressed by <tt>token_lifetime</tt></td>
              </tr>
              <tr>
                <td align="left">
                  <tt>scope</tt></td>
                <td align="left">Expressed by <tt>granted_scope</tt></td>
              </tr>
              <tr>
                <td align="left">
                  <tt>client_id</tt></td>
                <td align="left">Established by client authentication</td>
              </tr>
              <tr>
                <td align="left">
                  <tt>cnf</tt></td>
                <td align="left">Derived from a proof of possession the AS verified</td>
              </tr>
              <tr>
                <td align="left">
                  <tt>act</tt></td>
                <td align="left">Delegation chain, constructed by the AS</td>
              </tr>
              <tr>
                <td align="left">
                  <tt>authorization_details</tt></td>
                <td align="left">Has its own key and narrowing rules</td>
              </tr>
              <tr>
                <td align="left">
                  <tt>may_act</tt></td>
                <td align="left">Confers future delegation authority; broadening by construction</td>
              </tr>
            </tbody>
          </table>
          <t>The entries for <tt>sub</tt> and <tt>aud</tt> rest on stronger ground than the rest. Both
are inputs to the five-tuple; a PDP that could rewrite either would cause the
AS to issue a token corresponding to a decision that was never evaluated.
Re-subjecting a token is a fresh issuance, not an attenuation of an existing
one, and <bcp14>MUST</bcp14> be evaluated as such.</t>
        </section>
      </section>
      <section anchor="aggregation">
        <name>Aggregation Across a Batch</name>
        <t>An Access Evaluations response in <xref target="AUTHZEN"/> carries no top-level context;
each element of the <tt>evaluations</tt> array is a decision with its own optional
context. Token shaping, however, is a property of the token: there is one
lifetime, one claim set, one authorization details array for the token being
minted, while this profile fans scopes, targets, and authorization detail
cells out across many evaluations.</t>
        <t>An AS <bcp14>MUST</bcp14> therefore compose per-item shaping as follows:</t>
        <table>
          <thead>
            <tr>
              <th align="left">Key</th>
              <th align="left">Aggregation</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">
                <tt>token_lifetime</tt></td>
              <td align="left">Minimum over permitted items</td>
            </tr>
            <tr>
              <td align="left">
                <tt>granted_scope</tt></td>
              <td align="left">Union over permitted items, intersected with what the AS would otherwise grant and with the surviving scopes of <xref target="scope-denial"/></td>
            </tr>
            <tr>
              <td align="left">
                <tt>audience</tt></td>
              <td align="left">The surviving targets of <xref target="gate-denial"/>, less any target whose item returned an empty array</td>
            </tr>
            <tr>
              <td align="left">
                <tt>authorization_details</tt></td>
              <td align="left">Union of entries, then the per-entry structural check, intersected with the entries reassembled under <xref target="rar-denial"/></td>
            </tr>
            <tr>
              <td align="left">
                <tt>claims</tt></td>
              <td align="left">Merge; see below</td>
            </tr>
            <tr>
              <td align="left">
                <tt>crit</tt></td>
              <td align="left">Union</td>
            </tr>
          </tbody>
        </table>
        <t>Shaping keys appearing in the context of a <strong>denied</strong> item <bcp14>MUST</bcp14> be ignored.</t>
        <t>Where two permitted items return different values for the same member of
<tt>claims</tt>, the AS <bcp14>MUST</bcp14> reject the decision. There is no general narrowing
merge for arbitrary JSON values, and choosing one arbitrarily could
broaden the result. Identical values are not a conflict. A PDP <bcp14>SHOULD</bcp14> return
token-level shaping on a single item to avoid the situation.</t>
      </section>
    </section>
    <section anchor="discovery">
      <name>Discovery</name>
      <t>A PDP supporting this profile <bcp14>MUST</bcp14> advertise the capability URN registered
in <xref target="iana-capability"/> in the <tt>capabilities</tt> member of its metadata document,
retrievable at <tt>/.well-known/authzen-configuration</tt>:</t>
      <sourcecode type="json"><![CDATA[
{
  "policy_decision_point": "https://pdp.example.com",
  "access_evaluation_endpoint":
      "https://pdp.example.com/access/v1/evaluation",
  "access_evaluations_endpoint":
      "https://pdp.example.com/access/v1/evaluations",
  "capabilities": [
    "urn:ietf:params:authzen:token-issuance"
  ]
}
]]></sourcecode>
      <t>The URN asserts support for the request mapping and response vocabulary of
this document. It is not a statement about the content of the PDP's policy,
and a PDP <bcp14>MUST NOT</bcp14> be read as claiming to hold rules for any particular
issuance. What a deployment's policy permits is disclosed only through
decisions. This is the same line
<xref target="I-D.ietf-oauth-identity-assertion-authz-grant"/> draws for
<tt>authorization_grant_profiles_supported</tt>, which indicates that a server
implements a profile's processing rules and not that any particular issuer,
client, subject, or audience will be accepted.</t>
      <t>Advertising the capability is accordingly a commitment to the request shapes
this profile can produce. A PDP that advertises it <bcp14>MUST</bcp14> render a decision for
a gate tuple naming any action name composable from the short names
registered in <xref target="iana-actions"/>, and <bcp14>MUST NOT</bcp14> reject the evaluation on the
grounds that it holds no policy for that action. Denying is a decision; a
protocol error is not. The same applies to a batch that mixes a gate tuple
with scope tuples, which is the ordinary shape of a request naming scopes
(<xref target="composition"/>).</t>
      <t>The obligation matters because the gate vocabulary is a product of two
registries and grows as bindings register short names. An AS pairs the token
type it is about to mint with the grant it received; it cannot know which
pairings a given deployment's policy anticipated, and must not have to.</t>
      <t>For the same reason, this profile defines one capability URN rather than one
per token type and grant combination. Finer granularity would oblige the AS
to predict what the PDP has policy for, which the rule above exists to avoid,
and would publish the shape of a deployment's issuance policy in an
unauthenticated metadata document. Capability granularity in this profile
tracks vocabulary, not policy. An extension that adds response vocabulary
registers its own URN, since an AS must understand what it is asked to
enforce; one that adds only advisory context keys or new registered action
names does not, since a PDP ignores a context key it does not recognize and
the rule above already obliges it to decide any registered gate action.</t>
      <t>An operator enabling a new grant or token type nonetheless has a real
question to answer: whether the deployment's policy anticipates the gate
actions the AS is about to start sending, or whether every such request will
be denied. That question is about policy content, so its answer belongs on
the authenticated evaluation surface rather than in metadata; <xref target="AUTHZEN"/>
notes that an unauthenticated PDP can be probed for the shape of its policy.
The Action Search API of <xref target="AUTHZEN"/> answers it directly: a search for a
representative subject and an <tt>audience</tt> resource returns the action names
policy would permit, and gate actions among them indicate the issuances the
deployment is prepared for. This is a deployment-time check, not a
per-request one, and nothing in this profile requires it.</t>
    </section>
    <section anchor="error-mapping">
      <name>Error Mapping</name>
      <table>
        <thead>
          <tr>
            <th align="left">Condition</th>
            <th align="left">Authorization server behavior</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">Gate tuple denied</td>
            <td align="left">Fail the request; do not issue</td>
          </tr>
          <tr>
            <td align="left">All scope tuples denied</td>
            <td align="left">Fail the request; <tt>invalid_scope</tt></td>
          </tr>
          <tr>
            <td align="left">Some scope tuples denied</td>
            <td align="left">Issue with the permitted subset; report via <tt>scope</tt></td>
          </tr>
          <tr>
            <td align="left">Target denied or empty audience set</td>
            <td align="left">
              <tt>invalid_target</tt> (<xref target="RFC8693"/>)</td>
          </tr>
          <tr>
            <td align="left">No authorization detail entry survives</td>
            <td align="left">
              <tt>invalid_authorization_details</tt> (<xref target="RFC9396"/>)</td>
          </tr>
          <tr>
            <td align="left">Batch would exceed the bound of <xref target="bounded"/></td>
            <td align="left">The error of the parameter that overran it</td>
          </tr>
          <tr>
            <td align="left">Shaping key violates <xref target="no-broadening"/></td>
            <td align="left">Treat as denial; fail the request</td>
          </tr>
          <tr>
            <td align="left">Unknown <tt>crit</tt> member</td>
            <td align="left">Treat as denial; fail the request</td>
          </tr>
          <tr>
            <td align="left">PDP unreachable or malformed response</td>
            <td align="left">Fail closed; do not issue</td>
          </tr>
        </tbody>
      </table>
      <t>Reason information returned by a PDP is diagnostic and intended for the
operator of the AS. An AS <bcp14>MUST NOT</bcp14> relay PDP reason strings to the client,
as they may disclose policy structure to a party that is not authorized to
learn it.</t>
      <t>Where a PDP returns a denial accompanied by authentication requirements -
the step-up pattern of <xref target="AUTHZEN"/>, in which the required <tt>acr</tt> and <tt>amr</tt>
values are named - an AS <bcp14>SHOULD</bcp14> surface the requirement to the client. This
document does not define that mapping, and neither end of it is presently
specified. <xref target="AUTHZEN"/> illustrates the pattern in a non-normative example
rather than defining the response context keys that carry it, leaving a
profile nothing normative to reference; and on the OAuth side,
<tt>insufficient_user_authentication</tt> in <xref target="RFC9470"/> is defined for resource
servers rather than for the token endpoint, where no equivalent signal
exists. This is an open item, and closing it requires work in both
specifications.</t>
    </section>
    <section anchor="examples">
      <name>Examples</name>
      <t>The first example below is shown in full, framed against the HTTPS JSON
binding of <xref target="AUTHZEN"/>. The remaining examples show only the JSON payload.
Each is referenced from the section that specifies the rule it exercises.</t>
      <t>The transport is a property of the deployment, not of this profile: an
evaluation carrying the mapping defined here is the same evaluation whatever
binding conveys it. Where the HTTPS JSON binding is in use, the request URL
is the PDP's <tt>access_evaluations_endpoint</tt>, or <tt>access_evaluation_endpoint</tt>
for a request that reduces to a single evaluation, as published in the PDP's
metadata; the paths shown below are the defaults that apply when metadata
provides no value.</t>
      <section anchor="ex-cc">
        <name>Client Credentials, One Scope</name>
        <t>One scope is requested, so the request is one gate tuple (<xref target="gate-tuple"/>) and
one scope tuple (<xref target="scope-tuple"/>). This is the floor: two evaluations, so the
Access Evaluations API. One target is shared by both, so <tt>resource</tt> is carried
once at the top level; the examples below that need a resource per evaluation
carry it there instead, as <xref target="several-targets"/> provides.</t>
        <sourcecode type="http-message"><![CDATA[
POST /access/v1/evaluations HTTP/1.1
Host: pdp.example.com
Content-Type: application/json
Authorization: Bearer <token>

{
  "subject":  { "type": "client", "id": "svc-reporting" },
  "resource": {
    "type": "audience",
    "id": "https://telemetry.example"
  },
  "context": { "client_id": "svc-reporting" },
  "evaluations": [
    {
      "action": {
        "name": "issue:access_token:client_credentials"
      }
    },
    { "action": { "name": "telemetry.write" } }
  ],
  "options": { "evaluations_semantic": "execute_all" }
}
]]></sourcecode>
        <sourcecode type="http-message"><![CDATA[
HTTP/1.1 200 OK
Content-Type: application/json

{
  "evaluations": [
    {
      "decision": true,
      "context": { "issuance": { "token_lifetime": 900 } }
    },
    { "decision": true }
  ]
}
]]></sourcecode>
      </section>
      <section anchor="ex-downscope">
        <name>Authorization Code, Downscoping</name>
        <t>Three scopes are requested. The gate leads at index 0 and <tt>execute_all</tt>
allows the AS to issue the permitted subset of the rest, per
<xref target="scope-denial"/>.</t>
        <sourcecode type="json"><![CDATA[
{
  "subject":  { "type": "user", "id": "U0405936" },
  "resource": {
    "type": "audience",
    "id": "https://api.example/files"
  },
  "context": {
    "client_id": "chatterbox",
    "acr": "urn:example:loa:2"
  },
  "evaluations": [
    {
      "action": {
        "name": "issue:access_token:authorization_code"
      }
    },
    { "action": { "name": "files.read"   } },
    { "action": { "name": "files.write"  } },
    { "action": { "name": "files.delete" } }
  ],
  "options": { "evaluations_semantic": "execute_all" }
}
]]></sourcecode>
        <sourcecode type="json"><![CDATA[
{
  "evaluations": [
    { "decision": true },
    {
      "decision": true,
      "context": {
        "issuance": { "claims": { "groups": ["engineering"] } }
      }
    },
    { "decision": true },
    {
      "decision": false,
      "context": { "reason_admin": { "403": "policy P-118" } }
    }
  ]
}
]]></sourcecode>
        <t>The AS issues a token bearing <tt>files.read files.write</tt>, a <tt>groups</tt> claim,
and reports the reduced scope set in the token response.</t>
        <t>Had the same subject arrived at the same audience with the same scopes on a
refresh, index 0 would have read
<tt>issue:access_token:refresh_token</tt>, and a policy that requires fresh
authorization here could deny it while leaving the scope tuples untouched.</t>
      </section>
      <section anchor="ex-no-scopes">
        <name>No Scopes Requested</name>
        <t>No scopes and no default set, so the gate tuple stands alone (<xref target="batch"/>). This
is the only shape this document produces that is a single evaluation, and it is
therefore the only one sent to the Access Evaluation API rather than the
Access Evaluations API: the payload is a bare evaluation with no
<tt>evaluations</tt> array, and under the HTTPS JSON binding it is a <tt>POST</tt> to
<tt>/access/v1/evaluation</tt>.</t>
        <sourcecode type="json"><![CDATA[
{
  "subject":  { "type": "client", "id": "svc-reporting" },
  "action":   {
    "name": "issue:access_token:client_credentials"
  },
  "resource": {
    "type": "audience",
    "id": "https://telemetry.example"
  },
  "context": { "client_id": "svc-reporting" }
}
]]></sourcecode>
        <sourcecode type="json"><![CDATA[
{
  "decision": true,
  "context": {
    "issuance": {
      "granted_scope": "telemetry.write",
      "token_lifetime": 900
    }
  }
}
]]></sourcecode>
      </section>
      <section anchor="ex-rar-one">
        <name>Authorization Details, One Entry</name>
        <t>The token request below carries one authorization details entry naming one
location, one action, and one datatype. Line breaks in the request body are
for display only, and the value of <tt>authorization_details</tt> is form encoded on
the wire (<xref target="RFC9396"/> Section 2.1); it is shown decoded in the block that
follows.</t>
        <sourcecode type="http-message"><![CDATA[
POST /token HTTP/1.1
Host: as.example.com
Content-Type: application/x-www-form-urlencoded

grant_type=authorization_code
&code=SplxlOBeZQQYbYS6WxSbIA
&resource=https%3A%2F%2Fexample.com%2Fcustomers
&authorization_details=...
]]></sourcecode>
        <sourcecode type="json"><![CDATA[
[
  {
    "type": "customer_information",
    "locations": [ "https://example.com/customers" ],
    "actions": [ "read" ],
    "datatypes": [ "contacts" ]
  }
]
]]></sourcecode>
        <t>The entry has one cell, so the batch is the gate tuple and one authorization
detail tuple. The two name the same URI and are still distinct evaluations:
the gate asks whether a token may be issued for that audience, and the
authorization detail tuple asks whether this subject may read contacts at
that API. <tt>resource.type</tt> is what separates them.</t>
        <sourcecode type="json"><![CDATA[
{
  "subject": { "type": "user", "id": "U0405936" },
  "context": {
    "client_id": "chatterbox"
  },
  "evaluations": [
    {
      "action": {
        "name": "issue:access_token:authorization_code"
      },
      "resource": {
        "type": "audience",
        "id": "https://example.com/customers"
      }
    },
    {
      "action": { "name": "read:contacts" },
      "resource": {
        "type": "customer_information",
        "id": "https://example.com/customers"
      }
    }
  ],
  "options": { "evaluations_semantic": "execute_all" }
}
]]></sourcecode>
        <sourcecode type="json"><![CDATA[
{
  "evaluations": [
    { "decision": true },
    { "decision": true }
  ]
}
]]></sourcecode>
        <t>Every cell was permitted, so the entry reassembles to itself and the AS
issues a token carrying the requested <tt>authorization_details</tt> unchanged.</t>
      </section>
      <section anchor="ex-rar-two">
        <name>Authorization Details Across Two Targets</name>
        <t>Here the request names two issuance targets, and its single entry names two
locations and two datatypes. One action across two locations and two
datatypes is four cells, and two targets is two gate tuples, so the batch is
six evaluations. Gate tuples lead, per <xref target="batch"/>.</t>
        <sourcecode type="json"><![CDATA[
[
  {
    "type": "customer_information",
    "locations": [
      "https://example.com/customers",
      "https://eu.example.com/customers"
    ],
    "actions": [ "read" ],
    "datatypes": [ "contacts", "photos" ]
  }
]
]]></sourcecode>
        <t>No top-level <tt>resource</tt> is shown, because no one resource is shared: each
evaluation carries its own.</t>
        <sourcecode type="json"><![CDATA[
{
  "subject": { "type": "user", "id": "U0405936" },
  "context": {
    "client_id": "chatterbox"
  },
  "evaluations": [
    {
      "action": {
        "name": "issue:access_token:authorization_code"
      },
      "resource": {
        "type": "audience",
        "id": "https://example.com/customers"
      }
    },
    {
      "action": {
        "name": "issue:access_token:authorization_code"
      },
      "resource": {
        "type": "audience",
        "id": "https://eu.example.com/customers"
      }
    },
    {
      "action": { "name": "read:contacts" },
      "resource": {
        "type": "customer_information",
        "id": "https://example.com/customers"
      }
    },
    {
      "action": { "name": "read:photos" },
      "resource": {
        "type": "customer_information",
        "id": "https://example.com/customers"
      }
    },
    {
      "action": { "name": "read:contacts" },
      "resource": {
        "type": "customer_information",
        "id": "https://eu.example.com/customers"
      }
    },
    {
      "action": { "name": "read:photos" },
      "resource": {
        "type": "customer_information",
        "id": "https://eu.example.com/customers"
      }
    }
  ],
  "options": { "evaluations_semantic": "execute_all" }
}
]]></sourcecode>
        <t>The PDP permits both gates and denies one cell, photos at the European
location.</t>
        <sourcecode type="json"><![CDATA[
{
  "evaluations": [
    { "decision": true },
    { "decision": true },
    { "decision": true },
    { "decision": true },
    { "decision": true },
    {
      "decision": false,
      "context": { "reason_admin": { "403": "residency R-4" } }
    }
  ]
}
]]></sourcecode>
        <t>Three of the four cells survive, and three cells are not a product, so the
entry cannot reassemble into one. The AS returns two entries of the same
type, as <xref target="rar-denial"/> requires:</t>
        <sourcecode type="json"><![CDATA[
[
  {
    "type": "customer_information",
    "locations": [ "https://example.com/customers" ],
    "actions": [ "read" ],
    "datatypes": [ "contacts", "photos" ]
  },
  {
    "type": "customer_information",
    "locations": [ "https://eu.example.com/customers" ],
    "actions": [ "read" ],
    "datatypes": [ "contacts" ]
  }
]
]]></sourcecode>
        <t>Both gates permitted, so both targets remain in the audience. Had the second
gate been denied instead, <xref target="gate-denial"/> would have removed that target and
the AS would have disregarded both evaluations naming it, denied or not,
leaving the first entry alone and no second entry at all.</t>
      </section>
    </section>
    <section anchor="companions">
      <name>Relationship to Companion Documents</name>
      <t>This document defines the mapping and the shaping vocabulary, and registers
short names for the grant types listed in <xref target="iana-actions"/>. For a grant whose
request names a single party, that is everything an AS needs; the client
credentials and authorization code examples above are complete, and no
companion document is required to implement them.</t>
      <t>A binding is required where a grant family adds structure this document does
not model. The token exchange family adds two such things: a request names a
second party, the requesting party, whose authority is separately at stake;
and several of its members issue an artifact whose own audience differs from
the audience of the access it describes. Bindings are therefore expected for
that family - including identity chaining, identity assertion authorization
grants, and transaction tokens - and a profile describing the use of AuthZEN
search operations to populate the authorization claims of <xref target="RFC9068"/>.</t>
      <t>Bindings specify the subject derivation for their grant, any additional
context keys, the token type short names they register, and any invariants
of their own that a PDP cannot override.</t>
      <section anchor="related">
        <name>Related Work</name>
        <t>Two other efforts place an AuthZEN Policy Decision Point behind an
authorization server.</t>
        <t><xref target="I-D.brossard-oauth-rar-authzen"/> carries an AuthZEN request and response
inside <tt>authorization_details</tt>, placing the evaluation on the OAuth wire. It
has expired. This document does not adopt that approach: the evaluation
stays between the authorization server and its Policy Decision Point, and
the client sees only an OAuth response. <xref target="rar-tuple"/> covers the same
territory the other way round, deriving the evaluation from the
authorization details the client already sends rather than asking the client
to construct one.</t>
        <t><xref target="ARAP"/> defines what happens when a Policy Decision Point denies a request
but marks the denial as requestable: the enforcement point submits an access
request, an approval is obtained out of band, and a fresh evaluation is
performed so that the Policy Decision Point remains authoritative at
enforcement time. That profile deliberately does not bind the loop to OAuth,
requiring instead that a separate profile define a completion mode
appropriate to the flow. The AuthZEN Working Group's Access Request OAuth
Profile supplies that completion mode, and it governs the same moment as
this document.</t>
        <t>The two divide along the value of <tt>decision</tt>. The approval work specifies
the deny path: a requestable denial becomes an asynchronous approval, and
issuance follows the re-evaluation. This document specifies the allow path:
how the evaluation request is formed, and how a permit may narrow what is
issued. The approval work therefore already establishes that response
<tt>context</tt> shapes issuance; it does so for approval state, where this
document does so for the granted authorization.</t>
        <t>Because both must construct an evaluation request from an OAuth token
request, that construction is shared surface, and its treatment in the
approval profiles is deliberately brief, being incidental to their subject.
Where the two overlap, this document is intended to supply the detail rather
than to compete, and aligning the two is expected work.</t>
        <t><xref target="GRANTMGMT"/> approaches the same authorization from the other end. Its
grant query response reports a grant as <tt>scopes</tt>, <tt>claims</tt>, and
<tt>authorization_details</tt>, which is the set of constraining keys of
<xref target="shaping"/> seen after the fact: this document specifies how a
Policy Decision Point shapes those at issuance, and grant management
specifies how a client reads and manages them afterwards. Its <tt>scopes</tt>
member pairs each scope value with the resource indicators it applies to,
which is the same per-target scoping the scope tuple of <xref target="scope-tuple"/>
produces. Section 8.2 of that document records that the addressibility of
individual grant components is unresolved, and the decomposition of
<xref target="rar-tuple"/> bears on it, since a cell of an authorization details entry is
addressable by construction.</t>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <section anchor="fail-closed">
        <name>Fail Closed</name>
        <t>Every failure of the profile - an unreachable PDP, a malformed response, a
shaping value that violates <xref target="no-broadening"/>, an unrecognized <tt>crit</tt>
member - <bcp14>MUST</bcp14> result in no token being issued. A PDP that cannot be
consulted is not an authorization to proceed.</t>
        <t>Because the PDP is on the token issuance path, its availability becomes the
AS's availability. Deployments should consider caching of decisions, local
policy fallback that is explicitly configured rather than implicit, and the
latency budget of the token endpoint.</t>
      </section>
      <section anchor="amplification">
        <name>Request Amplification</name>
        <t>One token request becomes many evaluations. A client controls the scopes it
asks for, the targets it names, and the size of every <tt>authorization_details</tt>
entry, and <xref target="rar-tuple"/> turns each entry into the product of its common data
fields. That product is the legitimate meaning of a RAR entry, not an abuse of
it; the feature becomes a burden only when it is used to excess. An AS that
does not bound the fan-out lets an authenticated but unprivileged client
impose disproportionate work on the PDP, and through the PDP on every other
tenant of it.</t>
        <t><xref target="residue"/> and <xref target="bounded"/> are the two controls, and they are independent of
each other. The first removes what the AS was never going to grant; the second
caps what remains. An AS <bcp14>SHOULD</bcp14> also track fan-out per client over time. A
per-request cap does not bound the rate at which maximum-size requests can be
submitted, and a rate limit does not bound the cost of a single request;
neither substitutes for the other.</t>
        <t><xref target="AUTHZEN"/> Section 11.7 places a matching obligation on the PDP, which
"<bcp14>SHOULD</bcp14> apply reasonable protections to avoid common attacks tied to request
payload size, the number of requests ... or memory consumption". An AS <bcp14>MUST
NOT</bcp14> rely on it. Those protections take the form of the PDP shedding requests,
and a request the PDP sheds is one the AS must fail closed on (<xref target="fail-closed"/>),
so leaning on them converts an amplification attack into an outage.</t>
      </section>
      <section anchor="the-policy-decision-point-as-a-trust-dependency">
        <name>The Policy Decision Point as a Trust Dependency</name>
        <t>A PDP that can shape tokens can narrow every grant an AS issues, and a
compromised PDP can deny service. The constraints in this document bound the
damage in the other direction: because no shaping key may broaden a grant,
because <tt>sub</tt>, <tt>aud</tt>, and <tt>cnf</tt> are reserved, and because the AS validates
every constraining key before applying it, a compromised PDP cannot cause an
AS to issue a token for a different subject, aimed at a different audience,
bound to a different key, or bearing a privilege that no evaluation
considered.</t>
        <t>This is why the reservations in <xref target="claims"/> are normative rather than
advisory. An implementation that passed PDP-supplied claims into a token
without checking them against that list would give the PDP the ability to
mint arbitrary identities.</t>
      </section>
      <section anchor="integrity-of-the-decision-response">
        <name>Integrity of the Decision Response</name>
        <t>The <tt>crit</tt> mechanism relies on the response arriving intact. An attacker
able to strip <tt>crit</tt> from a response is also able to change <tt>decision</tt> to
<tt>true</tt>, so <tt>crit</tt> does not extend the attack surface beyond what transport
protection between the AS and the PDP must already cover. It is not a
substitute for that protection, and deployments requiring non-repudiation of
decisions should use the response signing mechanisms of <xref target="AUTHZEN"/>.</t>
      </section>
      <section anchor="privacy">
        <name>Privacy</name>
        <t>Evaluation requests carry subject identifiers, client identifiers, targets,
and authentication context to the PDP, and do so on every token issuance.
Where the PDP is operated by a party other than the operator of the AS, this
is a disclosure of authentication and access patterns for every user of the
system.</t>
        <t>Requiring that identifier transformations be applied before the request is
constructed (<xref target="subject"/>) means that a PDP
receiving pairwise or pseudonymous identifiers sees only the identifier the
token itself will carry, rather than a durable global identifier. Deployments
sensitive to this should prefer such identifiers.</t>
        <t>Where <tt>context</tt> conveys authentication context or device posture, deployments
should include only what their policies actually consume. The design rule of
<xref target="design-goals"/> already bounds how much that ought to be.</t>
      </section>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>The registrations requested by this document fall into two groups with
different dependency properties, described in <xref target="iana-deps"/>.</t>
      <section anchor="iana-deps">
        <name>Registration Dependencies</name>
        <t>The capability registration in <xref target="iana-capability"/> is an entry in a registry
established by another body's specification, and inherits that registry's
state. The two registries created in <xref target="iana-types"/> and <xref target="iana-actions"/> are
new registries created by this document, and have no such dependency.</t>
        <t><xref target="AUTHZEN"/> Section 12 asks IANA for two things: an <tt>authzen</tt> sub-namespace of
<tt>urn:ietf:params</tt> under <xref target="RFC3553"/>, and an "AuthZEN Policy Decision Point
Capabilities" registry whose entries are named as URNs within that
sub-namespace. At the time of writing, neither appears in the IANA registries.
The <tt>urn:ietf:params</tt> sub-namespace registry has a registration policy of IETF
Review <xref target="RFC6924"/>, which a specification published outside the IETF stream
cannot satisfy on its own.</t>
        <t>This document is on the IETF stream, and therefore can. Three resolutions are
available, and the choice is for the working group:</t>
        <ol spacing="normal" type="1"><li>
            <t>This document, or a companion document, performs the <xref target="RFC3553"/>
registration of the <tt>authzen</tt> sub-namespace, satisfying IETF Review. The
capability name then takes the form given in <xref target="iana-capability"/>.</t>
          </li>
          <li>
            <t>The capability is named in the <tt>urn:openid:authzen</tt> namespace rather than
under <tt>urn:ietf:params</tt>, and no IANA action is requested for it. <xref target="ARAP"/>
takes this route, naming its capability
<tt>urn:openid:authzen:capability:access-request</tt> and its error conditions
under <tt>urn:openid:authzen:access-request:error</tt>, so this is the scheme
AuthZEN profiles use in practice. The capability name would be
<tt>urn:openid:authzen:capability:token-issuance</tt>.</t>
          </li>
          <li>
            <t>This document declines the dependency and registers its capability under
<tt>urn:ietf:params:oauth</tt>, the sub-namespace established by <xref target="RFC6755"/>,
whose registration policy is Specification Required and is therefore not
blocked. The capability name would be
<tt>urn:ietf:params:oauth:authzen-capability:token-issuance</tt>.</t>
          </li>
        </ol>
        <t>A capability identifier is only useful if both parties compute the same
string, so one naming scheme for all AuthZEN capabilities is worth more than
this document's independence from any particular one. Options 1 and 2 both
achieve that, and differ in which body assigns the name; option 2 has the
advantage of matching what AuthZEN profiles already do, at the cost of leaving
the registry <xref target="AUTHZEN"/> asks for without entries. Option 3 is the fallback if
neither is available.</t>
      </section>
      <section anchor="iana-capability">
        <name>AuthZEN Policy Decision Point Capability</name>
        <t>IANA is requested to register the following in the "AuthZEN Policy Decision
Point Capabilities" registry established by <xref target="AUTHZEN"/>, subject to
<xref target="iana-deps"/>:</t>
        <dl>
          <dt>Capability Name:</dt>
          <dd>
            <t><tt>:token-issuance</tt></t>
          </dd>
          <dt>Capability URN:</dt>
          <dd>
            <t><tt>urn:ietf:params:authzen:token-issuance</tt></t>
          </dd>
          <dt>Capability Description:</dt>
          <dd>
            <t>Support for the OAuth 2.0 token issuance profile, comprising the request
mapping and the <tt>issuance</tt> response context vocabulary.</t>
          </dd>
          <dt>Change Controller:</dt>
          <dd>
            <t>IETF</t>
          </dd>
          <dt>Specification Document(s):</dt>
          <dd>
            <t>This document</t>
          </dd>
        </dl>
        <ul empty="true">
          <li>
            <t><strong>Editor's note.</strong> <xref target="AUTHZEN"/> requires capability names to begin with a
colon but gives no worked example of the resulting URN, so the rendering
above is inferred. It should be confirmed against the registry as
established and against the first registrations made in it.</t>
          </li>
        </ul>
      </section>
      <section anchor="iana-types">
        <name>Issuance Authorization Entity Types Registry</name>
        <t>IANA is requested to establish the "OAuth Token Issuance Authorization
Entity Types" registry, with a registration policy of Specification Required
<xref target="RFC8126"/>, containing the following initial entries:</t>
        <table>
          <thead>
            <tr>
              <th align="left">Type</th>
              <th align="left">Applies to</th>
              <th align="left">Description</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">
                <tt>user</tt></td>
              <td align="left">subject</td>
              <td align="left">A natural person</td>
            </tr>
            <tr>
              <td align="left">
                <tt>client</tt></td>
              <td align="left">subject</td>
              <td align="left">An OAuth client acting on its own behalf</td>
            </tr>
            <tr>
              <td align="left">
                <tt>workload</tt></td>
              <td align="left">subject</td>
              <td align="left">A non-human software identity</td>
            </tr>
            <tr>
              <td align="left">
                <tt>audience</tt></td>
              <td align="left">resource</td>
              <td align="left">The audience of the access being granted</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="iana-actions">
        <name>Issuance Authorization Action Names Registry</name>
        <t>IANA is requested to establish the "OAuth Token Issuance Authorization
Action Names" registry, with a registration policy of Specification Required
<xref target="RFC8126"/>, for the two short-name vocabularies from which action names in
the reserved <tt>issue:</tt> space are composed.</t>
        <t>A gate action name is <tt>issue:&lt;token-type&gt;:&lt;grant-type&gt;</tt>, so the registry
grows with the number of token types plus the number of grant types, not
with their product. The combinations that are meaningful in a deployment are
a matter of policy, not of registration.</t>
        <t>Every short name <bcp14>MUST</bcp14> match <tt>[a-z][a-z0-9_]{0,30}</tt>, and a composed action
name <bcp14>MUST NOT</bcp14> exceed 50 characters. <xref target="action-portability"/> gives the reason:
these bounds are what let the name be transformed mechanically into a
relation identifier that relationship-based engines accept. Registrants
should note that the hyphen is excluded deliberately, and that a short name
therefore differs from the corresponding URI wherever that URI contains one.</t>
        <t>Token type short names, initially:</t>
        <table>
          <thead>
            <tr>
              <th align="left">Short name</th>
              <th align="left">Token type</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">
                <tt>access_token</tt></td>
              <td align="left">
                <tt>urn:ietf:params:oauth:token-type:access_token</tt></td>
            </tr>
            <tr>
              <td align="left">
                <tt>refresh_token</tt></td>
              <td align="left">
                <tt>urn:ietf:params:oauth:token-type:refresh_token</tt></td>
            </tr>
            <tr>
              <td align="left">
                <tt>id_token</tt></td>
              <td align="left">
                <tt>urn:ietf:params:oauth:token-type:id_token</tt></td>
            </tr>
          </tbody>
        </table>
        <t>Grant type short names, initially:</t>
        <table>
          <thead>
            <tr>
              <th align="left">Short name</th>
              <th align="left">Grant type</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">
                <tt>authorization_code</tt></td>
              <td align="left">
                <tt>authorization_code</tt></td>
            </tr>
            <tr>
              <td align="left">
                <tt>client_credentials</tt></td>
              <td align="left">
                <tt>client_credentials</tt></td>
            </tr>
            <tr>
              <td align="left">
                <tt>refresh_token</tt></td>
              <td align="left">
                <tt>refresh_token</tt></td>
            </tr>
            <tr>
              <td align="left">
                <tt>token_exchange</tt></td>
              <td align="left">
                <tt>urn:ietf:params:oauth:grant-type:token-exchange</tt></td>
            </tr>
            <tr>
              <td align="left">
                <tt>device_code</tt></td>
              <td align="left">
                <tt>urn:ietf:params:oauth:grant-type:device_code</tt></td>
            </tr>
            <tr>
              <td align="left">
                <tt>jwt_bearer</tt></td>
              <td align="left">
                <tt>urn:ietf:params:oauth:grant-type:jwt-bearer</tt></td>
            </tr>
            <tr>
              <td align="left">
                <tt>saml2_bearer</tt></td>
              <td align="left">
                <tt>urn:ietf:params:oauth:grant-type:saml2-bearer</tt></td>
            </tr>
          </tbody>
        </table>
        <t>Registrations <bcp14>MUST</bcp14> give the URI or parameter value the short name
corresponds to, and <bcp14>MUST</bcp14> state which of the two vocabularies they join.
Names outside the <tt>issue:</tt> prefix are not registered here, since scope values
and the action names of <xref target="rar-tuple"/> are carried verbatim and are not
registered vocabularies.</t>
        <t>This document reserves one further name outside the <tt>issue:</tt> prefix:
<tt>authorization_detail</tt>, which <xref target="rar-tuple"/> substitutes for the action of an
authorization details entry that names none.</t>
      </section>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC6749">
          <front>
            <title>The OAuth 2.0 Authorization Framework</title>
            <author fullname="D. Hardt" initials="D." role="editor" surname="Hardt"/>
            <date month="October" year="2012"/>
            <abstract>
              <t>The OAuth 2.0 authorization framework enables a third-party application to obtain limited access to an HTTP service, either on behalf of a resource owner by orchestrating an approval interaction between the resource owner and the HTTP service, or by allowing the third-party application to obtain access on its own behalf. This specification replaces and obsoletes the OAuth 1.0 protocol described in RFC 5849. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6749"/>
          <seriesInfo name="DOI" value="10.17487/RFC6749"/>
        </reference>
        <reference anchor="RFC7519">
          <front>
            <title>JSON Web Token (JWT)</title>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <author fullname="J. Bradley" initials="J." surname="Bradley"/>
            <author fullname="N. Sakimura" initials="N." surname="Sakimura"/>
            <date month="May" year="2015"/>
            <abstract>
              <t>JSON Web Token (JWT) is a compact, URL-safe means of representing claims to be transferred between two parties. The claims in a JWT are encoded as a JSON object that is used as the payload of a JSON Web Signature (JWS) structure or as the plaintext of a JSON Web Encryption (JWE) structure, enabling the claims to be digitally signed or integrity protected with a Message Authentication Code (MAC) and/or encrypted.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7519"/>
          <seriesInfo name="DOI" value="10.17487/RFC7519"/>
        </reference>
        <reference anchor="RFC8693">
          <front>
            <title>OAuth 2.0 Token Exchange</title>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <author fullname="A. Nadalin" initials="A." surname="Nadalin"/>
            <author fullname="B. Campbell" initials="B." role="editor" surname="Campbell"/>
            <author fullname="J. Bradley" initials="J." surname="Bradley"/>
            <author fullname="C. Mortimore" initials="C." surname="Mortimore"/>
            <date month="January" year="2020"/>
            <abstract>
              <t>This specification defines a protocol for an HTTP- and JSON-based Security Token Service (STS) by defining how to request and obtain security tokens from OAuth 2.0 authorization servers, including security tokens employing impersonation and delegation.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8693"/>
          <seriesInfo name="DOI" value="10.17487/RFC8693"/>
        </reference>
        <reference anchor="RFC9396">
          <front>
            <title>OAuth 2.0 Rich Authorization Requests</title>
            <author fullname="T. Lodderstedt" initials="T." surname="Lodderstedt"/>
            <author fullname="J. Richer" initials="J." surname="Richer"/>
            <author fullname="B. Campbell" initials="B." surname="Campbell"/>
            <date month="May" year="2023"/>
            <abstract>
              <t>This document specifies a new parameter authorization_details that is used to carry fine-grained authorization data in OAuth messages.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9396"/>
          <seriesInfo name="DOI" value="10.17487/RFC9396"/>
        </reference>
        <reference anchor="AUTHZEN" target="https://openid.net/specs/authorization-api-1_0-final.html">
          <front>
            <title>Authorization API 1.0</title>
            <author initials="" surname="OpenID Foundation AuthZEN Working Group">
              <organization>OpenID Foundation</organization>
            </author>
            <date year="2026" month="January" day="11"/>
          </front>
        </reference>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC7515">
          <front>
            <title>JSON Web Signature (JWS)</title>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <author fullname="J. Bradley" initials="J." surname="Bradley"/>
            <author fullname="N. Sakimura" initials="N." surname="Sakimura"/>
            <date month="May" year="2015"/>
            <abstract>
              <t>JSON Web Signature (JWS) represents content secured with digital signatures or Message Authentication Codes (MACs) using JSON-based data structures. Cryptographic algorithms and identifiers for use with this specification are described in the separate JSON Web Algorithms (JWA) specification and an IANA registry defined by that specification. Related encryption capabilities are described in the separate JSON Web Encryption (JWE) specification.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7515"/>
          <seriesInfo name="DOI" value="10.17487/RFC7515"/>
        </reference>
        <reference anchor="RFC7643">
          <front>
            <title>System for Cross-domain Identity Management: Core Schema</title>
            <author fullname="P. Hunt" initials="P." role="editor" surname="Hunt"/>
            <author fullname="K. Grizzle" initials="K." surname="Grizzle"/>
            <author fullname="E. Wahlstroem" initials="E." surname="Wahlstroem"/>
            <author fullname="C. Mortimore" initials="C." surname="Mortimore"/>
            <date month="September" year="2015"/>
            <abstract>
              <t>The System for Cross-domain Identity Management (SCIM) specifications are designed to make identity management in cloud-based applications and services easier. The specification suite builds upon experience with existing schemas and deployments, placing specific emphasis on simplicity of development and integration, while applying existing authentication, authorization, and privacy models. Its intent is to reduce the cost and complexity of user management operations by providing a common user schema and extension model as well as binding documents to provide patterns for exchanging this schema using HTTP.</t>
              <t>This document provides a platform-neutral schema and extension model for representing users and groups and other resource types in JSON format. This schema is intended for exchange and use with cloud service providers.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7643"/>
          <seriesInfo name="DOI" value="10.17487/RFC7643"/>
        </reference>
        <reference anchor="RFC8176">
          <front>
            <title>Authentication Method Reference Values</title>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <author fullname="P. Hunt" initials="P." surname="Hunt"/>
            <author fullname="A. Nadalin" initials="A." surname="Nadalin"/>
            <date month="June" year="2017"/>
            <abstract>
              <t>The "amr" (Authentication Methods References) claim is defined and registered in the IANA "JSON Web Token Claims" registry, but no standard Authentication Method Reference values are currently defined. This specification establishes a registry for Authentication Method Reference values and defines an initial set of Authentication Method Reference values.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8176"/>
          <seriesInfo name="DOI" value="10.17487/RFC8176"/>
        </reference>
        <reference anchor="RFC8707">
          <front>
            <title>Resource Indicators for OAuth 2.0</title>
            <author fullname="B. Campbell" initials="B." surname="Campbell"/>
            <author fullname="J. Bradley" initials="J." surname="Bradley"/>
            <author fullname="H. Tschofenig" initials="H." surname="Tschofenig"/>
            <date month="February" year="2020"/>
            <abstract>
              <t>This document specifies an extension to the OAuth 2.0 Authorization Framework defining request parameters that enable a client to explicitly signal to an authorization server about the identity of the protected resource(s) to which it is requesting access.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8707"/>
          <seriesInfo name="DOI" value="10.17487/RFC8707"/>
        </reference>
        <reference anchor="RFC9068">
          <front>
            <title>JSON Web Token (JWT) Profile for OAuth 2.0 Access Tokens</title>
            <author fullname="V. Bertocci" initials="V." surname="Bertocci"/>
            <date month="October" year="2021"/>
            <abstract>
              <t>This specification defines a profile for issuing OAuth 2.0 access tokens in JSON Web Token (JWT) format. Authorization servers and resource servers from different vendors can leverage this profile to issue and consume access tokens in an interoperable manner.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9068"/>
          <seriesInfo name="DOI" value="10.17487/RFC9068"/>
        </reference>
        <reference anchor="RFC9126">
          <front>
            <title>OAuth 2.0 Pushed Authorization Requests</title>
            <author fullname="T. Lodderstedt" initials="T." surname="Lodderstedt"/>
            <author fullname="B. Campbell" initials="B." surname="Campbell"/>
            <author fullname="N. Sakimura" initials="N." surname="Sakimura"/>
            <author fullname="D. Tonge" initials="D." surname="Tonge"/>
            <author fullname="F. Skokan" initials="F." surname="Skokan"/>
            <date month="September" year="2021"/>
            <abstract>
              <t>This document defines the pushed authorization request (PAR) endpoint, which allows clients to push the payload of an OAuth 2.0 authorization request to the authorization server via a direct request and provides them with a request URI that is used as reference to the data in a subsequent call to the authorization endpoint.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9126"/>
          <seriesInfo name="DOI" value="10.17487/RFC9126"/>
        </reference>
        <reference anchor="RFC9470">
          <front>
            <title>OAuth 2.0 Step Up Authentication Challenge Protocol</title>
            <author fullname="V. Bertocci" initials="V." surname="Bertocci"/>
            <author fullname="B. Campbell" initials="B." surname="Campbell"/>
            <date month="September" year="2023"/>
            <abstract>
              <t>It is not uncommon for resource servers to require different authentication strengths or recentness according to the characteristics of a request. This document introduces a mechanism that resource servers can use to signal to a client that the authentication event associated with the access token of the current request does not meet its authentication requirements and, further, how to meet them. This document also codifies a mechanism for a client to request that an authorization server achieve a specific authentication strength or recentness when processing an authorization request.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9470"/>
          <seriesInfo name="DOI" value="10.17487/RFC9470"/>
        </reference>
        <reference anchor="RFC9700">
          <front>
            <title>Best Current Practice for OAuth 2.0 Security</title>
            <author fullname="T. Lodderstedt" initials="T." surname="Lodderstedt"/>
            <author fullname="J. Bradley" initials="J." surname="Bradley"/>
            <author fullname="A. Labunets" initials="A." surname="Labunets"/>
            <author fullname="D. Fett" initials="D." surname="Fett"/>
            <date month="January" year="2025"/>
            <abstract>
              <t>This document describes best current security practice for OAuth 2.0. It updates and extends the threat model and security advice given in RFCs 6749, 6750, and 6819 to incorporate practical experiences gathered since OAuth 2.0 was published and covers new threats relevant due to the broader application of OAuth 2.0. Further, it deprecates some modes of operation that are deemed less secure or even insecure.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="240"/>
          <seriesInfo name="RFC" value="9700"/>
          <seriesInfo name="DOI" value="10.17487/RFC9700"/>
        </reference>
        <reference anchor="RFC8126">
          <front>
            <title>Guidelines for Writing an IANA Considerations Section in RFCs</title>
            <author fullname="M. Cotton" initials="M." surname="Cotton"/>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <author fullname="T. Narten" initials="T." surname="Narten"/>
            <date month="June" year="2017"/>
            <abstract>
              <t>Many protocols make use of points of extensibility that use constants to identify various protocol parameters. To ensure that the values in these fields do not have conflicting uses and to promote interoperability, their allocations are often coordinated by a central record keeper. For IETF protocols, that role is filled by the Internet Assigned Numbers Authority (IANA).</t>
              <t>To make assignments in a given registry prudently, guidance describing the conditions under which new values should be assigned, as well as when and how modifications to existing values can be made, is needed. This document defines a framework for the documentation of these guidelines by specification authors, in order to assure that the provided guidance for the IANA Considerations is clear and addresses the various issues that are likely in the operation of a registry.</t>
              <t>This is the third edition of this document; it obsoletes RFC 5226.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="26"/>
          <seriesInfo name="RFC" value="8126"/>
          <seriesInfo name="DOI" value="10.17487/RFC8126"/>
        </reference>
        <reference anchor="RFC3553">
          <front>
            <title>An IETF URN Sub-namespace for Registered Protocol Parameters</title>
            <author fullname="M. Mealling" initials="M." surname="Mealling"/>
            <author fullname="L. Masinter" initials="L." surname="Masinter"/>
            <author fullname="T. Hardie" initials="T." surname="Hardie"/>
            <author fullname="G. Klyne" initials="G." surname="Klyne"/>
            <date month="June" year="2003"/>
            <abstract>
              <t>This document describes a new sub-delegation for the 'ietf' URN namespace for registered protocol items. The 'ietf' URN namespace is defined in RFC 2648 as a root for persistent URIs that refer to IETF- defined resources. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="73"/>
          <seriesInfo name="RFC" value="3553"/>
          <seriesInfo name="DOI" value="10.17487/RFC3553"/>
        </reference>
        <reference anchor="RFC6755">
          <front>
            <title>An IETF URN Sub-Namespace for OAuth</title>
            <author fullname="B. Campbell" initials="B." surname="Campbell"/>
            <author fullname="H. Tschofenig" initials="H." surname="Tschofenig"/>
            <date month="October" year="2012"/>
            <abstract>
              <t>This document establishes an IETF URN Sub-namespace for use with OAuth-related specifications. This document is not an Internet Standards Track specification; it is published for informational purposes.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6755"/>
          <seriesInfo name="DOI" value="10.17487/RFC6755"/>
        </reference>
        <reference anchor="RFC6924">
          <front>
            <title>Registration of Second-Level URN Namespaces under "ietf"</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="April" year="2013"/>
            <abstract>
              <t>RFC 2648 defines the "ietf" URN namespace and a number of sub- namespaces. RFC 3553 defines an additional sub-namespace, "params", and creates a registry to document allocations under that. But there is no registry that lists, in one place, all sub-namespaces of "ietf". This document creates and populates such a registry, thereby changing the mechanism defined in RFC 2648 for adding new sub- namespaces of "ietf".</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6924"/>
          <seriesInfo name="DOI" value="10.17487/RFC6924"/>
        </reference>
        <reference anchor="I-D.brossard-oauth-rar-authzen">
          <front>
            <title>AuthZEN Request/Response Profile for OAuth 2.0 Rich Authorization Requests</title>
            <author fullname="David Brossard" initials="D." surname="Brossard">
              <organization>Axiomatics</organization>
            </author>
            <author fullname="Omri Gazitt" initials="O." surname="Gazitt">
              <organization>Aserto</organization>
            </author>
            <author fullname="Alex Babeanu" initials="A." surname="Babeanu">
              <organization>3Edges</organization>
            </author>
            <date day="8" month="July" year="2024"/>
            <abstract>
              <t>   This specification defines a profile of OAuth 2.0 Rich Authorization
   Requests leveraging the OpenID AuthZEN authorization request/response
   formats within the authorization_details JSON object.  Authorization
   servers and resource servers from different vendors can leverage this
   profile to request and receive relevant authorization decisions from
   an AuthZEN-compatible PDP in an interoperable manner.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-brossard-oauth-rar-authzen-03"/>
        </reference>
        <reference anchor="I-D.gerber-oauth-deferred-token-response">
          <front>
            <title>Deferred Token Response</title>
            <author fullname="Frederik Krogsdal Jacobsen" initials="F. K." surname="Jacobsen">
              <organization>Idura</organization>
            </author>
            <author fullname="Guilherme de Oliveira Niero" initials="G." surname="de Oliveira Niero">
              <organization>Itaú</organization>
            </author>
            <author fullname="Maxwell Gerber" initials="M." surname="Gerber">
              <organization>Twilio</organization>
            </author>
            <date day="23" month="June" year="2026"/>
            <abstract>
              <t>   This document defines the Deferred Token Response (DTR) extension for
   OAuth 2.1.  In existing OAuth grants, the token endpoint either
   issues an access token or returns an error.  DTR establishes a
   generic asynchronous token request mechanism that any OAuth grant may
   plug into.  In DTR-aware flows, the authorization server returns a
   deferral_code and a polling interval, indicating that the final token
   response will be available at a later time.  The client retrieves the
   eventual response by polling the token endpoint, or by receiving a
   callback from the authorization server when one is configured.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-gerber-oauth-deferred-token-response-00"/>
        </reference>
        <reference anchor="I-D.ietf-oauth-identity-chaining">
          <front>
            <title>OAuth Identity and Authorization Chaining Across Domains</title>
            <author fullname="Arndt Schwenkschuster" initials="A." surname="Schwenkschuster">
              <organization>Defakto Security</organization>
            </author>
            <author fullname="Pieter Kasselman" initials="P." surname="Kasselman">
              <organization>Defakto Security</organization>
            </author>
            <author fullname="Kelley Burgin" initials="K." surname="Burgin">
              <organization>MITRE</organization>
            </author>
            <author fullname="Michael J. Jenkins" initials="M. J." surname="Jenkins">
              <organization>NSA-CCSS</organization>
            </author>
            <author fullname="Brian Campbell" initials="B." surname="Campbell">
              <organization>Ping Identity</organization>
            </author>
            <author fullname="Aaron Parecki" initials="A." surname="Parecki">
              <organization>Okta</organization>
            </author>
            <date day="19" month="July" year="2026"/>
            <abstract>
              <t>   This specification describes a mechanism for preserving identity and
   authorization information across trust domains that use the OAuth 2.0
   Framework.  A JSON Web Token (JWT) authorization grant, obtained
   through an intra-domain OAuth 2.0 Token Exchange, facilitates the
   cross-domain acquisition of an access token.  The relevant identity
   and authorization information is chained throughout the flow by being
   conveyed in the respective artifacts exchanged at each step of the
   process.  Chaining across multiple domains is achieved by using the
   same protocol every time a trust domain boundary is crossed.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-oauth-identity-chaining-17"/>
        </reference>
        <reference anchor="I-D.ietf-oauth-identity-assertion-authz-grant">
          <front>
            <title>Identity Assertion JWT Authorization Grant</title>
            <author fullname="Aaron Parecki" initials="A." surname="Parecki">
              <organization>Okta</organization>
            </author>
            <author fullname="Karl McGuinness" initials="K." surname="McGuinness">
              <organization>Independent</organization>
            </author>
            <author fullname="Brian Campbell" initials="B." surname="Campbell">
              <organization>Ping Identity</organization>
            </author>
            <date day="21" month="May" year="2026"/>
            <abstract>
              <t>   This specification provides a mechanism for an application to use an
   identity assertion to obtain an access token for a third-party API by
   coordinating through an identity provider that the downstream
   Resource Authorization Server already trusts for single sign-on
   (SSO), using Token Exchange [RFC8693] and JWT Profile for OAuth 2.0
   Authorization Grants [RFC7523].  This pattern is informally referred
   to as Cross-App Access (XAA).

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-oauth-identity-assertion-authz-grant-04"/>
        </reference>
        <reference anchor="I-D.ietf-oauth-transaction-tokens">
          <front>
            <title>Transaction Tokens</title>
            <author fullname="Atul Tulshibagwale" initials="A." surname="Tulshibagwale">
              <organization>CrowdStrike</organization>
            </author>
            <author fullname="George Fletcher" initials="G." surname="Fletcher">
              <organization>Practical Identity LLC</organization>
            </author>
            <author fullname="Pieter Kasselman" initials="P." surname="Kasselman">
              <organization>Defakto Security</organization>
            </author>
            <date day="30" month="July" year="2026"/>
            <abstract>
              <t>   Transaction Tokens (Txn-Tokens) are designed to maintain and
   propagate user identity, workload identity and authorization context
   throughout the Call Chain within a trusted domain during the
   processing of external requests (e.g. such as API calls) or requests
   initiated internally within the Trust Domain.  Txn-Tokens ensure that
   this context is preserved throughout the Call Chain thereby enhancing
   security and consistency in complex, multi-service architectures.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-oauth-transaction-tokens-11"/>
        </reference>
        <reference anchor="ARAP" target="https://openid.github.io/authzen/authzen-access-request-approval-profile-1_0">
          <front>
            <title>AuthZEN Access Request and Approval Profile 1.0</title>
            <author initials="K." surname="McGuinness" fullname="Karl McGuinness">
              <organization>Independent</organization>
            </author>
            <date year="2026" month="July" day="27"/>
          </front>
        </reference>
        <reference anchor="GRANTMGMT" target="https://openid.bitbucket.io/fapi/oauth-v2-grant-management.html">
          <front>
            <title>Grant Management for OAuth 2.0</title>
            <author initials="T." surname="Lodderstedt" fullname="Torsten Lodderstedt">
              <organization>yes.com</organization>
            </author>
            <author initials="S." surname="Low" fullname="Stuart Low">
              <organization>Biza.io</organization>
            </author>
            <author initials="D." surname="Postnikov" fullname="Dima Postnikov">
              <organization>Independent</organization>
            </author>
            <date year="2026" month="June" day="26"/>
          </front>
        </reference>
        <reference anchor="ZANZIBAR" target="https://www.usenix.org/conference/atc19/presentation/pang">
          <front>
            <title>Zanzibar: Google's Consistent, Global Authorization System</title>
            <author initials="R." surname="Pang">
              <organization/>
            </author>
            <author initials="R." surname="Caceres">
              <organization/>
            </author>
            <author initials="M." surname="Burrows">
              <organization/>
            </author>
            <date year="2019"/>
          </front>
        </reference>
      </references>
    </references>
    <?line 1823?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>This work was motivated in part by Karl McGuinness, whose initiative to
bridge OAuth and AuthZEN - in <xref target="ARAP"/> and its OAuth completion mode -
established that a Policy Decision Point belongs behind the token endpoint,
and that the response of such a Policy Decision Point may legitimately shape
what is issued. This document takes up the other half of that decision.</t>
      <t>Thanks also to the participants in the OpenID AuthZEN interoperability
events, whose December 2025 identity provider scenario demonstrated AuthZEN
search operations populating token claims, and to the members of the AuthZEN
Working Group and the OAuth Working Group.</t>
    </section>
    <section numbered="false" removeInRFC="true" anchor="document-history">
      <name>Document History</name>
      <section numbered="false" anchor="since-00">
        <name>Since -00</name>
        <ul spacing="normal">
          <li>
            <t>A request may now name several issuance targets. The single-target <bcp14>MUST</bcp14> in
<xref target="resource"/> becomes a <bcp14>SHOULD</bcp14> inherited from <xref target="RFC8707"/> Section 5 and
<xref target="RFC9700"/> Section 4.10.2, and <xref target="several-targets"/> says how tuples are
formed per target, how a denied gate removes one, and why a scope survives
only where it was permitted at every surviving target.</t>
          </li>
          <li>
            <t>Requested <tt>authorization_details</tt> now reach the PDP. <xref target="rar-tuple"/>
decomposes an entry along the product of <xref target="RFC9396"/> Section 2.2 into one
evaluation per location, action, and datatype, with the datatype carried as
a trailing segment of <tt>action.name</tt>.</t>
          </li>
          <li>
            <t><xref target="residue"/> orders the AS's own reductions before the PDP call, so the batch
carries only what the AS would otherwise grant.</t>
          </li>
          <li>
            <t><xref target="bounded"/> requires an AS to bound the size of the batch without naming a
bound, and <xref target="amplification"/> covers the attack.</t>
          </li>
          <li>
            <t><tt>crit</tt> is unilateral. The enforcement point capability declaration and the
precondition that gated <tt>crit</tt> on it are removed, so this profile no longer
uses <tt>context.issuance</tt> on the request leg at all.</t>
          </li>
          <li>
            <t>The structural check of <xref target="rar-response"/> tests a returned entry against a
single covering request entry rather than against the union of the
same-type entries, and a member absent from the request entry no longer
causes rejection.</t>
          </li>
          <li>
            <t>Added worked examples of both authorization details shapes, cross-references
between the rules and the examples that exercise them, and a Related Work
paragraph on <xref target="GRANTMGMT"/>.</t>
          </li>
        </ul>
      </section>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA+297XYbV5Il+v88RQ61pm2zAIikZLlMudxDS7JLXZaslujr
VdXLS0wACTItIBOTmSAFU+pnmWe5T3YjdkScj0RCVnW77vSsNbVm3CKAzDx5
PuJzx47xeOy6slsWp9nB2aa7+tuT59mLpl6UyyJb1E32A3+YnUyOsvP6TVFl
T9t2k1ez4sDl02lTXEeX9X8wy7vism62p1nbzd28nlX5ih4zb/JFN77Mfy27
blzndPGY//NrUY1LvXZ8dOzazXRFf5d11W3XdNnTJ+ffunLdnGZds2m7k6Oj
L49OXN4UOQ3hVTHbNGW3PXA3dfPmsqk3a/r0p2Ka8eDqpvw17+hO/GZdPauX
NLi6aouq3bS4X+HoRe65N8WWrp+fumycYWT8jzy+g31Ao+V/rutlOdvyvzq8
fPF2dpVXl3S7otoUdJ/sY8aSZfKKBz/R4MvqMvuOL+LPV3m5pM8xlv9RFt1i
UjeX/EXezK7oi6uuW7end+/y7/ij8rqY2M/u8gd3p0190xZ3cYe7fOVl2V1t
pnxTWYK7yRIcOCfvy3NAv86yxWa5lIU7+GHVlNl3uOoA39FT8krfh75/Ws2L
dUH/qfT7wsYvj/ofl/z3ZFav6DFV3azowmvM0stvHz344v6X+s8vPj+2f/7x
wZf39J9f3vvyAf/z7MfzP9N2O8UT4q0bpvbsxdPseHIkg+jy5rLoosmqaYzl
fFIV3d12Xczau8kKj/N1OT5+fTRelFW+nFx1q6XcZ07b+TQ7OTp5QNtzfHyM
D/1k4X/jrKxanih6wtPH2bf1pprriPSM7Kyw/I8mcugymqayWvQmimbnc/vn
g/s2O388/uKB/fOLoy9szo4e/NH+eXxiP/jy/hdH9s8vjo78HfwP7n3++T2/
LJ/b0x58eXKf//l0/HhC26pt82auB7jJG9tB9ovLopkWjX4/LxZF0xTzMY7J
uCnaNZ8/+y1vWf1lybuHTvKYDlJZ0VR96Dd52xaNLBo/fHzZ5FU3cEFHn7f5
DL/ECFpspJdnL3Z3Ea/S2WxWtG32svifm6LtsryaZ2frdVNf50svHH9zf8lB
m5T1XZ0Z+7/jHLenWcDtacPJrcdruTXvvt0t98X45Iv9W+4vk+zZ7LtNWVV0
Z7+t9Nz+JW+W0df9bdc7tt+9PHt+/uy7Z+fp3HzHc5s9y6v8sljRT1Pt8OGp
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
ozSGSTK6m5L97Fb9Zx+o+o8pHtoN950j+U4386OJ3+MTJr7URE7yDe9rKdiL
XzEaWzLyPfnuKF363tfMJMYybrRjLotTvTPnQM75sQAVkIyhbjjUEH4kPSW2
obOOIvC6HLF7pQA2JRAWw2qlMtbh7PnVWlNJky4BVZ//lNkHyFh+tr6qu1p+
5KEPOd9qb+qxFnCbZWvxyii9C8/2N+UbRfUKEia00s6bWqoO5XvrfhXhQfM4
5sWCKjNXZl7OlTJcJSKfiYQVCifhzLIOmiwKaWqecSGQjVaE7x81hjRpKrZ1
/zzRXrPCMX1InFbLUKPIfTHkeT06Ty+Otwjoe6IgkXUSQHhbghqGbsVby+IW
IvGZ+0C6RWv6vOxDODTv4WUc3aYnOo3SaZIkV42j7C135ZFwJxLm/ctbT7mV
gLcjjiqfSS0tWUdqHednVzB5fGXuWWOyUMCq5QNVsnT9I41OnfnOOPrsXrJV
zodIZnjHcCTLBJJ3C1iahZalmIpIqceGlw5VYlu5Rb85OmbP6gQF4bJ92VC2
hLhmeygO3Mvlr3O0I9lUoaF5aFwqEfUqi9FyZtZwsfqwe+H7cllmaRESM5+G
MtnPMmsGw9m8FZkTnEHaE9ARASrLy7H7pMRKZBso9eGEYGjZVYGAYxyu8Zba
5+jj/MEAowsBxlyBSHpG98UZ4yijjkGNmTgAzpF/WkNQTvBqRnH9KLbFtSSV
NVGfBCEUzyUMhGYFgm2ECLgIiyzwkSWZ69ksb0ul4LbgOySTMf7mWkWt78B3
YRZsDcrFlEW+sokmVKDyUtYDq/E/lncdyp/GKdJV/va1UC0Xzeti09Cnnx8d
WfqVf0xzzBnUgZ9mP++mUc9hQCoYqN0pktvpWGdZj3wOHLA3dRXRHFeY06wb
7SxDJQ0jF5fRt6CK1NYG4p3mDnHH06HH9zsh6GhNkySBYhdFFnmGaALqFjeY
FujavkPaIF7plnsGblimPq+d7EtsFdubdDv2lWdIg1u/vGQvSymqhVb6zTGG
pROSPlyjqolUj8pA+I6zGlJB5eL5xA+U2NzXgtv2XdnGlSUB20zDlUN6OdpL
NPOyymFscLafXgQ0YNJ9PCo8KLDLwecvF1u1q8RcaHRLVADCbQ386iicYUfT
awSENFTvOGnHDFa0ouu0P3fSjCemaVBtsCxyRBC7kHnjWZY4Rel7fofMubYa
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
r694wZJSqIn7/wB1gChUdTsBAA==

-->

</rfc>
