<?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-token-exchange-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 Exchange Binding">AuthZEN Binding for OAuth 2.0 Token Exchange</title>
    <seriesInfo name="Internet-Draft" value="draft-gazitt-oauth-authzen-token-exchange-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>
    <keyword>delegation</keyword>
    <abstract>
      <?line 62?>

<t>OAuth 2.0 Token Exchange (RFC 8693) defines the moment at which an
authorization server decides whether one party may obtain a token to act as,
or on behalf of, another. It states that the decision is governed by policy,
and does not define that policy. The specifications layered on top of it -
identity chaining, identity assertion authorization grants, and transaction
tokens - inherit the same seam.</t>
      <t>This document binds those flows to the AuthZEN profile for OAuth 2.0 token
issuance. It specifies how a token exchange request is derived into AuthZEN
evaluation requests, how the authority of the requesting party is expressed
as a decision distinct from the authority being delegated, and what each of
the token types layered on token exchange contributes to that mapping.</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-token-exchange/"/>.
      </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 77?>

<section anchor="introduction">
      <name>Introduction</name>
      <t><xref target="RFC8693"/> generalizes a family of operations in which a party presents one
token and asks for another. The specification is precise about the inputs -
<tt>subject_token</tt>, <tt>actor_token</tt>, <tt>audience</tt>, <tt>resource</tt>, <tt>scope</tt>,
<tt>requested_token_type</tt> - and about the shape of the result, including the
<tt>act</tt> claim that records a delegation chain and the <tt>may_act</tt> claim that
authorizes one party to become the actor for another.</t>
      <t>It is deliberately silent about the decision. Section 2.2.1 conditions a
successful response on the request meeting "all policy and other criteria of
the authorization server", and defines neither the policy nor the criteria.</t>
      <t><xref target="ISSUANCE"/> defines a framework for externalizing that class of decision to
a Policy Decision Point (PDP) using <xref target="AUTHZEN"/>, casting the authorization
server (AS) as a Policy Enforcement Point. That document is directly
implementable for grants whose request names a single party and a single
target. Token exchange names two parties, and several of its members name two
levels of target; supplying that structure is what this document does. It
covers:</t>
      <ul spacing="normal">
        <li>
          <t>token exchange as defined in <xref target="RFC8693"/>;</t>
        </li>
        <li>
          <t>identity chaining across trust domains
(<xref target="I-D.ietf-oauth-identity-chaining"/>);</t>
        </li>
        <li>
          <t>identity assertion authorization grants
(<xref target="I-D.ietf-oauth-identity-assertion-authz-grant"/>), referred to here as
ID-JAG;</t>
        </li>
        <li>
          <t>transaction tokens (<xref target="I-D.ietf-oauth-transaction-tokens"/>), referred to
here as Txn-Tokens.</t>
        </li>
      </ul>
      <t>These are treated together because they are one grant with four sets of
parameters. Each names a subject, a requesting party, a target, and a set of
privileges, and each arrives at the same undefined decision.</t>
      <section anchor="what-this-document-adds">
        <name>What This Document Adds</name>
        <t>The framework maps a generic issuance request onto AuthZEN's mandatory
five-tuple. Token exchange adds one structural element the framework does
not have: <strong>a second party</strong>. Every other issuance flow decides what a
subject may obtain. A token exchange decides what a <em>requesting party</em> may
obtain <em>as, or on behalf of,</em> a subject.</t>
        <t>That second party is not decoration. <xref target="RFC8693"/> introduces <tt>may_act</tt>
precisely because the authority to become another party's actor is a
distinct privilege, and Section 4.4 identifies the party whose authority is
in question as "the client (or party identified in the <tt>actor_token</tt>)".
This document's central normative content is that this second privilege is
evaluated as its own tuple, so that any conforming PDP - including a
relationship-based engine in the style of <xref target="ZANZIBAR"/>, which reads it
directly as an edge between two named entities - can adjudicate it
(<xref target="actor-gate"/>).</t>
        <t>The remainder is the derivation of the framework's inputs from each
specification's parameters, and the small number of invariants that each
specification places beyond a PDP's reach.</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 of <xref target="RFC6749"/>, <xref target="RFC8693"/>, <xref target="AUTHZEN"/>, and
<xref target="ISSUANCE"/>. In particular, <em>gate tuple</em> and <em>scope tuple</em> are used as
defined in <xref target="ISSUANCE"/>.</t>
      <dl>
        <dt>Exchange subject:</dt>
        <dd>
          <t>The party the issued token will represent: the party whose identifier the
AS intends to place in the issued token's subject claim. Derived in
<xref target="subject"/>.</t>
        </dd>
        <dt>Requesting party:</dt>
        <dd>
          <t>The party asking for the token, on whose own authority the exchange
depends. This is the party identified by <tt>actor_token</tt> where one is
present, and the authenticated client otherwise. Derived in
<xref target="requesting-party"/>.</t>
        </dd>
        <dt>Issuance target:</dt>
        <dd>
          <t>As in <xref target="ISSUANCE"/>: the audience of the access being granted.</t>
        </dd>
      </dl>
    </section>
    <section anchor="applicability">
      <name>Applicability</name>
      <t>This binding applies to a request at the token endpoint whose <tt>grant_type</tt>
is <tt>urn:ietf:params:oauth:grant-type:token-exchange</tt>, and to the assertion
grants used to redeem an ID-JAG (<xref target="id-jag"/>).</t>
      <t>The AS performs the evaluation described here only after it has completed
every validation the underlying specification requires: authenticating the
client, validating the <tt>subject_token</tt> and any <tt>actor_token</tt> and confirming
their issuers are trusted, and verifying any proof of possession. A permit
from a PDP does not substitute for any of these. This restates
<xref target="ISSUANCE"/>'s architecture and is repeated because token exchange is the
flow in which the temptation to conflate the two is greatest: the PDP is
being asked whether a delegation is <em>permitted</em>, never whether the presented
tokens are <em>valid</em>.</t>
    </section>
    <section anchor="forming-the-evaluation-request">
      <name>Forming the Evaluation Request</name>
      <section anchor="subject">
        <name>Subject</name>
        <t>The exchange subject is derived from <tt>subject_token</tt>, interpreted according
to <tt>subject_token_type</tt>:</t>
        <table>
          <thead>
            <tr>
              <th align="left">Value of subject_token_type</th>
              <th align="left">Exchange subject</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">
                <tt>access_token</tt>, <tt>id_token</tt>, <tt>jwt</tt></td>
              <td align="left">The subject of the presented token</td>
            </tr>
            <tr>
              <td align="left">
                <tt>refresh_token</tt></td>
              <td align="left">The subject the refresh token was issued for</td>
            </tr>
            <tr>
              <td align="left">
                <tt>saml1</tt>, <tt>saml2</tt></td>
              <td align="left">The subject of the assertion</td>
            </tr>
            <tr>
              <td align="left">
                <tt>self_signed</tt>, <tt>unsigned_json</tt></td>
              <td align="left">See <xref target="txn-tokens"/></td>
            </tr>
          </tbody>
        </table>
        <t><tt>subject.type</tt> <bcp14>MUST</bcp14> be <tt>user</tt> where the exchange subject is a natural person
and <tt>workload</tt> where it is a non-human software identity, per the registry
established by <xref target="ISSUANCE"/>.</t>
        <t><tt>subject.id</tt> <bcp14>MUST</bcp14> be the identifier the AS intends to place in the issued
token's subject claim, as <xref target="ISSUANCE"/> requires. In token exchange this
ordering constraint has teeth, because the subject identifier frequently
changes during the exchange: an AS receiving a token from a peer trust
domain resolves the foreign subject to a local account, and an AS issuing
pairwise identifiers computes one per audience. Any such resolution <bcp14>MUST</bcp14> be
performed <strong>before</strong> the evaluation request is constructed.</t>
        <t>An AS that evaluated against the incoming identifier and then issued a token
bearing a resolved one would obtain a decision about a subject that does not
appear in the token it mints.</t>
      </section>
      <section anchor="requesting-party">
        <name>Requesting Party</name>
        <t>The requesting party is:</t>
        <ol spacing="normal" type="1"><li>
            <t>the party identified by <tt>actor_token</tt>, interpreted according to
<tt>actor_token_type</tt>, where an <tt>actor_token</tt> is present; otherwise</t>
          </li>
          <li>
            <t>the authenticated client.</t>
          </li>
        </ol>
        <t><tt>subject.type</tt> for the requesting party <bcp14>MUST</bcp14> be <tt>client</tt> where it is an
OAuth client identified by a client identifier, and <tt>workload</tt> where it is a
software identity presenting a credential such as an X.509 certificate
(<xref target="RFC8705"/>) or a workload identity document.</t>
        <t>The requesting party is derived in both delegation and impersonation. It is
in the impersonation case - where the issued token carries no <tt>act</tt> claim
and the requesting party is therefore invisible in the result - that
evaluating its authority matters most, because nothing downstream can
recover it.</t>
      </section>
      <section anchor="actions">
        <name>Actions</name>
        <t>A token exchange request produces gate tuples and scope tuples as defined in
<xref target="ISSUANCE"/>, which requires a gate tuple on every request. This binding
produces <strong>two</strong>, because a token exchange has two parties whose authority
is in question.</t>
        <t>Both carry the same <tt>action.name</tt>, of the form
<tt>issue:&lt;token-type&gt;:token_exchange</tt>, where the token type short name is the
one registered for the value of <tt>requested_token_type</tt> (<xref target="iana-actions"/>).
The grant segment is <tt>token_exchange</tt> throughout, since that is the grant
this binding applies to; it is what distinguishes these tuples from those a
direct request by the same party for the same target would produce.</t>
        <t>Where <tt>requested_token_type</tt> is absent, <xref target="RFC8693"/> directs the AS to its
default, and the short name for that default type is used.</t>
        <section anchor="subject-gate-tuple">
          <name>Subject Gate Tuple</name>
          <t>The AS <bcp14>MUST</bcp14> include a gate tuple whose subject is the exchange subject.</t>
        </section>
        <section anchor="actor-gate">
          <name>Requesting Party Gate Tuple</name>
          <t>The AS <bcp14>MUST</bcp14> include a second gate tuple whose subject is the requesting
party (<xref target="requesting-party"/>), with the same <tt>action.name</tt> and the same
resource as the subject gate tuple.</t>
          <t>This tuple is the interoperable expression of the question <xref target="RFC8693"/>
Section 4.4 poses: whether the client, or the party named in the
<tt>actor_token</tt>, is authorized to engage in the requested delegation or
impersonation. Expressing it as a five-tuple rather than as a property of
the subject's tuple is what puts it within reach of any conforming PDP: a
relationship-based engine adjudicates it directly, as the relation between a
named subject and a named object, without having to be told how to project a
property bag into one.</t>
          <t>The two gate tuples ask different questions and both <bcp14>MUST</bcp14> be permitted:</t>
          <ul spacing="normal">
            <li>
              <t>the subject gate asks whether a token of this kind may exist for this
subject and this target at all;</t>
            </li>
            <li>
              <t>the requesting party gate asks whether this party may be the one to obtain
it.</t>
            </li>
          </ul>
          <t>Where the requesting party and the exchange subject are the same entity -
a client exchanging a token it obtained for itself - the two gate tuples are
identical, and the AS <bcp14>MAY</bcp14> include only one.</t>
        </section>
        <section anchor="mayact-is-not-a-substitute">
          <name><tt>may_act</tt> Is Not a Substitute</name>
          <t>Where the <tt>subject_token</tt> carries a <tt>may_act</tt> claim, the AS <bcp14>MUST</bcp14> convey it
as advisory context (<xref target="context"/>) and <bcp14>MUST NOT</bcp14> treat its presence as
satisfying the requesting party gate tuple, nor its absence as denying it.</t>
          <t><tt>may_act</tt> is an assertion made by the issuer of the subject token at the
time that token was minted. The gate tuple is a decision rendered by policy
at the time of the exchange. Substituting the first for the second would
reintroduce, one layer down, exactly the staleness that consulting a PDP at
issuance exists to address. An ABAC-class PDP is free to consume <tt>may_act</tt>
from context and require the requesting party to appear in it; that is a
policy choice made at the PDP, which is where it belongs.</t>
        </section>
        <section anchor="scope-tuples">
          <name>Scope Tuples</name>
          <t>Scope tuples are formed as in <xref target="ISSUANCE"/>, one per requested scope value,
carried verbatim.</t>
          <t>The subject of every scope tuple <bcp14>MUST</bcp14> be the exchange subject, not the
requesting party. Scope expresses access authority, and in both delegation
and impersonation the access being exercised is the subject's. A requesting
party cannot acquire access the subject does not have by asking for it on
the subject's behalf; its own privilege is the right to act as the subject
at all, which the gate tuple decides.</t>
          <t><xref target="txn-tokens"/> defines an additional requirement for Txn-Tokens, whose
governing specification makes the requesting workload's authority
scope-dependent.</t>
        </section>
      </section>
      <section anchor="resource">
        <name>Resource</name>
        <t><tt>resource.type</tt> <bcp14>MUST</bcp14> be <tt>audience</tt> and <tt>resource.id</tt> <bcp14>MUST</bcp14> be the issuance
target, as in <xref target="ISSUANCE"/>. Where the request carries an <tt>audience</tt>
parameter, or a <tt>resource</tt> parameter in the sense of <xref target="RFC8707"/>, that value
determines the issuance target.</t>
        <t>Where the request names more than one target, the AS <bcp14>MUST</bcp14> fan the tuples out
across targets: each gate tuple and each scope tuple is evaluated once per
named target.</t>
        <section anchor="two-level">
          <name>Two-Level Evaluation for Chained Grants</name>
          <t>Some members of this family issue an artifact that is consumed by one party
in order to obtain access at another. An ID-JAG is presented to a peer
authorization server, but the access it describes is at a resource behind
that server. The artifact's own audience and the audience of the access
being granted are different values, and both are decision-critical: the
first governs delegation into a trust domain, the second governs reach
within it.</t>
          <t>Where the two differ, the AS <bcp14>MUST</bcp14> perform a <strong>two-level evaluation</strong>,
producing tuples at both:</t>
          <ul spacing="normal">
            <li>
              <t><strong>Level 1</strong>, with <tt>resource.id</tt> set to the consumer of the issued artifact
              </t>
              <ul spacing="normal">
                <li>
                  <t>the peer authorization server. Gate tuples appear only at this level.</t>
                </li>
              </ul>
            </li>
            <li>
              <t><strong>Level 2</strong>, with <tt>resource.id</tt> set to each resource identifier named by
the request under <xref target="RFC8707"/>. Scope tuples are produced at both levels,
and authorization detail tuples only here: an entry describes access at a
resource rather than delegation to the consumer of the artifact. Where an
entry omits <tt>locations</tt>, the targets <xref target="ISSUANCE"/> substitutes are the
level-2 resources.</t>
            </li>
          </ul>
          <t>A denial at level 1 is a refusal to delegate into that trust domain and is
fatal.</t>
          <t>A denial at level 2 narrows what the issued artifact may name, and how
depends on which tuple was denied. A denied scope tuple removes that scope
from the artifact entirely, even where other level-2 resources permitted it,
which is the intersection <xref target="ISSUANCE"/> requires. A denied authorization
detail cell narrows only its own entry at its own location, because a cell
names the location it applies to.</t>
          <t>The intersection is forced here by redemption rather than by <xref target="RFC9068"/>. An
ID-JAG carries the level-2 resources in a <tt>resource</tt> claim and its scopes in
a flat <tt>scope</tt> claim, with no pairing between them, and
<xref target="I-D.ietf-oauth-identity-assertion-authz-grant"/> has the resource
authorization server process both and grant any subset it decides on. A
scope the identity provider's PDP permitted at one resource and denied at
another would therefore reach redemption with the denial no longer visible,
and could be granted for the resource that denied it. An AS whose deployment
needs a scope to survive at one level-2 resource and not another issues one
ID-JAG per resource, or expresses the distinction in
<tt>authorization_details</tt>, where the location is part of the cell.</t>
          <t>Where the request names no <xref target="RFC8707"/> resource, level 2 does not exist and
the evaluation is single-level.</t>
        </section>
      </section>
      <section anchor="context">
        <name>Context</name>
        <t>In addition to the keys defined by <xref target="ISSUANCE"/>, an AS implementing this
binding <bcp14>SHOULD</bcp14> convey the following in the request <tt>context</tt>. All are
advisory: a PDP <bcp14>MUST</bcp14> be able to render a decision from the five-tuple alone.</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>subject_token_type</tt></td>
              <td align="left">string</td>
              <td align="left">The <tt>subject_token_type</tt> parameter, verbatim</td>
            </tr>
            <tr>
              <td align="left">
                <tt>actor_token_type</tt></td>
              <td align="left">string</td>
              <td align="left">The <tt>actor_token_type</tt> parameter, if present</td>
            </tr>
            <tr>
              <td align="left">
                <tt>subject_token</tt></td>
              <td align="left">object</td>
              <td align="left">Selected validated claims of the subject token, such as <tt>iss</tt>, <tt>acr</tt>, <tt>amr</tt>, and <tt>auth_time</tt></td>
            </tr>
            <tr>
              <td align="left">
                <tt>act</tt></td>
              <td align="left">object</td>
              <td align="left">The <tt>act</tt> claim of the subject token, if present, conveying an existing delegation chain</td>
            </tr>
            <tr>
              <td align="left">
                <tt>may_act</tt></td>
              <td align="left">object</td>
              <td align="left">The <tt>may_act</tt> claim of the subject token, if present</td>
            </tr>
            <tr>
              <td align="left">
                <tt>cnf</tt></td>
              <td align="left">object</td>
              <td align="left">The confirmation method of the presented credential, where the exchange is sender-constrained under <xref target="RFC8705"/> or <xref target="RFC9449"/></td>
            </tr>
          </tbody>
        </table>
        <t>Each key has one JSON type, as <xref target="ISSUANCE"/> requires of context keys defined
by a binding.</t>
        <t><tt>requested_token_type</tt> is not among them. It determines the token type
segment of the gate action name, so it is already in the five-tuple, and
repeating it in <tt>context</tt> would give a PDP two places to read the same fact
and a way for them to disagree. <tt>subject_token_type</tt> and <tt>actor_token_type</tt>
describe the credentials presented, not the token requested, and remain
advisory.</t>
        <t>An AS <bcp14>MUST NOT</bcp14> place raw token strings in <tt>context</tt>. Only claims the AS has
already validated are conveyed, and only those a deployment's policies
consume. The subject token may carry claims about a party that has not
authorized their disclosure to the PDP.</t>
      </section>
      <section anchor="composition">
        <name>Batch Composition</name>
        <t>Except where a request names no scopes and the two gate tuples coincide
(<xref target="actor-gate"/>), the AS uses the Access Evaluations API of <xref target="AUTHZEN"/> as
<xref target="ISSUANCE"/> specifies, with <tt>options.evaluations_semantic</tt> set to
<tt>execute_all</tt>.</t>
        <t><xref target="ISSUANCE"/> requires gate tuples to occupy the leading indices of the
<tt>evaluations</tt> array. Here that ordinarily means indices 0 and 1, in the order
given in <xref target="actions"/>: the subject gate first, then the requesting party gate.
Scope tuples follow. The AS <bcp14>MUST</bcp14> fail the request without issuing a token if
either gate is denied.</t>
        <t>Narrowing is the ordinary outcome of a scope denial, and matches
<xref target="I-D.ietf-oauth-identity-assertion-authz-grant"/>, which states that granted
scopes may be a subset of those requested. Where a deployment instead intends
the requested privileges to be granted whole, it does not vary the evaluations
semantic to obtain that: it fails the request when any scope tuple is denied.</t>
        <t>A short-circuiting semantic is not used, because it may return a truncated
<tt>evaluations</tt> array while the aggregation rules of <xref target="ISSUANCE"/> are defined
over the complete set of per-item results. Composing those results is the AS's
work here in any case: <xref target="AUTHZEN"/> selects the semantic per request rather
than per item, so the fatality of a gate denial is enforced by the AS and not
by the PDP. Retaining every per-item result also preserves the record of which
privilege was refused, which is what an operator needs when a request fails.</t>
      </section>
    </section>
    <section anchor="token-type-bindings">
      <name>Token Type Bindings</name>
      <section anchor="access-tokens-and-refresh-tokens">
        <name>Access Tokens and Refresh Tokens</name>
        <t>No additional derivation is required. The mapping of <xref target="ISSUANCE"/> and the
preceding sections is complete for an exchange whose
<tt>requested_token_type</tt> is <tt>urn:ietf:params:oauth:token-type:access_token</tt> or
<tt>urn:ietf:params:oauth:token-type:refresh_token</tt>.</t>
      </section>
      <section anchor="identity-chaining">
        <name>Identity Chaining</name>
        <t><xref target="I-D.ietf-oauth-identity-chaining"/> composes two token endpoint requests:
an exchange at the authorization server of trust domain A yielding an
authorization grant for trust domain B, and the redemption of that grant at
B's authorization server.</t>
        <t>Each leg is an independent issuance decision and is evaluated independently,
against the PDP of the trust domain whose authorization server is
performing it. Neither AS relies on the other's evaluation. This follows
from the specification's own model, in which each domain remains
authoritative for its own policy, and it is what the profile is for: the
first leg decides whether authority may leave domain A, the second decides
what authority it acquires in domain B.</t>
        <t>The first leg is a two-level evaluation under <xref target="two-level"/> where the
request names <xref target="RFC8707"/> resources. The second leg is an ordinary
single-level evaluation whose exchange subject is the local account the
foreign subject resolved to, per <xref target="subject"/>.</t>
        <t><xref target="I-D.ietf-oauth-identity-chaining"/> notes that a request may be denied due
to policy, for instance where a trust relationship is not established. Under
this binding, the existence of the trust relationship remains a
precondition the AS validates; the PDP decides what is permitted across a
relationship that already exists.</t>
      </section>
      <section anchor="id-jag">
        <name>Identity Assertion Authorization Grant</name>
        <t>An ID-JAG is issued by an identity provider's authorization server and
redeemed at an application's authorization server.</t>
        <t><strong>Issuance.</strong> The <tt>requested_token_type</tt> is
<tt>urn:ietf:params:oauth:token-type:id-jag</tt>, so the gate tuples carry
<tt>action.name</tt> of <tt>issue:id_jag:token_exchange</tt>. The issued grant's audience
is the
resource authorization server, while
<xref target="I-D.ietf-oauth-identity-assertion-authz-grant"/> makes the <xref target="RFC8707"/>
          <tt>resource</tt> subset a policy decision in its own right. The AS <bcp14>MUST</bcp14> therefore
perform a two-level evaluation under <xref target="two-level"/>.</t>
        <t><tt>scope</tt> is <bcp14>OPTIONAL</bcp14> in an ID-JAG request. Where it is absent, the request
produces gate tuples and no scope tuples, and a PDP that wishes to grant a
specific set returns <tt>granted_scope</tt> in the response context, as
<xref target="ISSUANCE"/> defines. This is the case the framework's gate tuple exists
for: without it, a scopeless ID-JAG request would produce no evaluation at
all.</t>
        <t><xref target="I-D.ietf-oauth-identity-assertion-authz-grant"/> has the identity provider
evaluate policy for each requested authorization detail, and permits it to
modify, filter, or omit them. Under this binding the unit is finer than the
entry, since <xref target="ISSUANCE"/> decomposes each entry into one tuple per cell, and
the three operations have distinct sources. An entry is omitted where every
one of its cells is denied. An entry is filtered where only some are, which
may require returning it as several entries of one <tt>type</tt> rather than one.
Modification beyond what the cells can express comes from the
<tt>authorization_details</tt> shaping key of <xref target="ISSUANCE"/>, subject to that key's
structural check.</t>
        <t><strong>Redemption.</strong> The application's authorization server presents the ID-JAG
as an assertion grant. This is an ordinary single-level evaluation. Its
exchange subject is the local account produced by the subject resolution
that <xref target="I-D.ietf-oauth-identity-assertion-authz-grant"/> requires, and its
requesting party is the client authenticated at that endpoint - which is a
different party from the client that obtained the grant. Evaluating it is
the point: redemption is where an application's own authorization server
decides what the asserted identity may do locally.</t>
        <t>Where a deployment is multi-tenant, the AS <bcp14>SHOULD</bcp14> convey the tenant
identifier in <tt>context</tt>. A deployment whose decisions genuinely depend on
tenancy <bcp14>SHOULD</bcp14> instead encode the tenant in <tt>resource.id</tt>, so that the
dependency is visible in the five-tuple.</t>
      </section>
      <section anchor="txn-tokens">
        <name>Transaction Tokens</name>
        <t><xref target="I-D.ietf-oauth-transaction-tokens"/> defines a Transaction Token Service
(TTS) that mints short-lived tokens carrying a call chain's originating
context. Its issuance decision is the one this profile addresses, and the
specification states directly that the authorization policy determining
issuance is out of scope for it.</t>
        <t>Txn-Tokens differ from the rest of the family in four ways that the binding
must account for.</t>
        <t><strong>There is no <tt>actor_token</tt>.</strong> The requesting party is the workload that
authenticated to the TTS, typically with a credential under <xref target="RFC8705"/> or
a workload identity document. It is derived under rule 2 of
<xref target="requesting-party"/> with <tt>subject.type</tt> of <tt>workload</tt>.</t>
        <t><strong>The requesting workload's authority is scope-dependent.</strong> The
specification requires the TTS to determine whether the requesting workload
is authorized to obtain a Txn-Token <em>with the requested values</em>, not merely
whether it may obtain one. For <tt>requested_token_type</tt> of
<tt>urn:ietf:params:oauth:token-type:txn_token</tt>, the AS <bcp14>MUST</bcp14> therefore include
scope tuples for the requesting party in addition to those for the exchange
subject. Both sets <bcp14>MUST</bcp14> be permitted for the corresponding scope to be
granted. This is the one place in this document where the requesting party
is evaluated for access authority rather than only for issuance authority,
and it is required because the governing specification asks for it.</t>
        <t><strong>Subject derivation is ambiguous for self-signed and unsigned subject
tokens.</strong> Where <tt>subject_token_type</tt> is
<tt>urn:ietf:params:oauth:token-type:self_signed</tt> or
<tt>urn:ietf:params:oauth:token-type:unsigned_json</tt>, the presented token is not
an authority on identity. The AS <bcp14>MUST</bcp14> determine whether the request is on
behalf of a user, in which case the exchange subject is that user and the
AS <bcp14>MUST</bcp14> have an independent basis for believing the assertion, or on the
workload's own behalf, in which case the exchange subject is the requesting
workload itself and the two gate tuples coincide. An AS <bcp14>MUST NOT</bcp14> accept a
user identity from an unsigned subject token without such a basis. The PDP
cannot detect this error, because it sees only the identifier it is given.</t>
        <t><strong>Transaction context may originate at the PDP.</strong> The specification makes
the TTS authoritative for the transaction context of the token it mints, and
permits that context to be derived from the request details. A PDP is a
legitimate source for that derivation. Where a deployment uses one, the
transaction context is carried as a member of the <tt>claims</tt> shaping key of
<xref target="ISSUANCE"/>, and the TTS remains authoritative: it <bcp14>MUST</bcp14> validate the
returned value before minting, and its own determination prevails.</t>
        <t>A PDP that asserts a quantitative ceiling in transaction context is
asserting a constraint that a downstream enforcement point is expected to
apply, and dropping it would broaden what the token effectively authorizes.
A PDP asserting such a value <bcp14>MUST</bcp14> name the claim in <tt>crit</tt>, per <xref target="ISSUANCE"/>.</t>
        <t>Requests for replacement Txn-Tokens are a second issuance moment with the
same tuple shape and require no additional machinery. The invariants that
<xref target="I-D.ietf-oauth-transaction-tokens"/> places on a replacement - that it <bcp14>MUST
NOT</bcp14> expand scope, and <bcp14>MUST NOT</bcp14> modify the transaction identifier, subject,
or audience - are preconditions the TTS enforces. <strong>A PDP cannot waive
them.</strong> A permit authorizes a replacement within those bounds; it does not
authorize one outside them.</t>
      </section>
    </section>
    <section anchor="processing-the-response">
      <name>Processing the Response</name>
      <t>The response processing rules of <xref target="ISSUANCE"/> apply without change,
including the no-broadening rule, the mandatory-to-understand
classification, the reserved claim list, and the aggregation rules for
composing per-item shaping across a batch.</t>
      <t>Two consequences of that framework are worth restating here, because token
exchange is where they bind hardest.</t>
      <t><strong><tt>sub</tt> and <tt>aud</tt> are reserved.</strong> A PDP cannot rewrite the subject or the
audience of the issued token. In a family of flows whose entire purpose is
to produce a token for a different audience, or bearing a different subject
identifier, than the one presented, the temptation to let the PDP perform
that transformation is real. It must be resisted: re-subjecting a token is a
fresh issuance rather than an attenuation of an existing one, and must be
evaluated as such. The AS decides the transformation and evaluates the
result, as <xref target="subject"/> requires.</t>
      <t><strong><tt>act</tt> and <tt>may_act</tt> are reserved.</strong> The delegation chain of the issued
token is constructed by the AS from parties it authenticated. A PDP that
could write <tt>act</tt> could fabricate a delegation history; a PDP that could
write <tt>may_act</tt> could confer delegation authority that no evaluation
considered, which is broadening by construction.</t>
    </section>
    <section anchor="error-mapping">
      <name>Error Mapping</name>
      <t>The mapping of <xref target="ISSUANCE"/> applies, refined for the errors of <xref target="RFC8693"/>:</t>
      <table>
        <thead>
          <tr>
            <th align="left">Condition</th>
            <th align="left">Authorization server behavior</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">Subject gate tuple denied</td>
            <td align="left">Fail; <tt>invalid_request</tt></td>
          </tr>
          <tr>
            <td align="left">Requesting party gate tuple denied</td>
            <td align="left">Fail; <tt>invalid_request</tt></td>
          </tr>
          <tr>
            <td align="left">All scope tuples denied</td>
            <td align="left">Fail; <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">Level 1 denied in a two-level evaluation</td>
            <td align="left">Fail; <tt>invalid_target</tt></td>
          </tr>
          <tr>
            <td align="left">Every target denied, or shaping empties the target set</td>
            <td align="left">Fail; <tt>invalid_target</tt></td>
          </tr>
          <tr>
            <td align="left">Requested token type not permitted</td>
            <td align="left">Fail; <tt>invalid_request</tt></td>
          </tr>
          <tr>
            <td align="left">PDP unreachable or response malformed</td>
            <td align="left">Fail closed; do not issue</td>
          </tr>
        </tbody>
      </table>
      <t>An AS <bcp14>MUST NOT</bcp14> distinguish, in the error returned to the client, between a
denial of the subject gate and a denial of the requesting party gate. The
difference tells the requesting party whether its own authority or the
subject's was lacking, which is information about the subject's authority
that the requesting party has not been authorized to learn. Both are
reported as <tt>invalid_request</tt>, and the distinction is recorded where
<xref target="ISSUANCE"/> directs PDP reason information: in the AS's own logs.</t>
    </section>
    <section anchor="discovery">
      <name>Discovery</name>
      <t>This binding registers no capability URN of its own. A PDP advertises support
for the URN of <xref target="ISSUANCE"/>, and nothing further is negotiated.</t>
      <t>Nothing further is needed. A capability URN identifies response vocabulary,
because an AS must understand what it is asked to enforce, and this binding
adds none: it uses the shaping keys of <xref target="ISSUANCE"/> unchanged. The context
keys of <xref target="context"/> are advisory, and a PDP that does not recognize one
ignores it. The gate action names registered in <xref target="iana-actions"/> are covered
by <xref target="ISSUANCE"/>'s rule that a PDP advertising the issuance capability renders
a decision on any registered gate action, so an AS never has to discover
which members of this family a deployment's policy anticipates.</t>
      <t>An operator enabling one of these grants for the first time - ID-JAG on an AS
that previously performed only ordinary exchanges, say - can check whether
policy anticipates the new gate action before turning it on, using the Action
Search API of <xref target="AUTHZEN"/> as <xref target="ISSUANCE"/> describes.</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 second shows only the JSON payload. As
<xref target="ISSUANCE"/> notes, the transport is a property of the deployment, and where
the HTTPS JSON binding is in use the request URL is the PDP's
<tt>access_evaluations_endpoint</tt> where its metadata publishes one. Both requests
here carry two gate tuples, so neither reduces to a single evaluation.</t>
      <section anchor="delegation-with-an-actor-token">
        <name>Delegation With an Actor Token</name>
        <t>A gateway workload exchanges a user's access token for a token aimed at a
partner API, acting on the user's behalf. Two gate tuples and one scope
tuple result.</t>
        <sourcecode type="http-message"><![CDATA[
POST /token HTTP/1.1
Host: as.example
Content-Type: application/x-www-form-urlencoded

grant_type=urn:ietf:params:oauth:grant-type:token-exchange
&subject_token=eyJ...
&subject_token_type=urn:ietf:params:oauth:token-type:access_token
&actor_token=eyJ...
&actor_token_type=urn:ietf:params:oauth:token-type:jwt
&requested_token_type=urn:ietf:params:oauth:token-type:access_token
&audience=https%3A%2F%2Fapi.partner.example
&scope=read%3Adocs
]]></sourcecode>
        <sourcecode type="http-message"><![CDATA[
POST /access/v1/evaluations HTTP/1.1
Host: pdp.example.com
Content-Type: application/json
Authorization: Bearer <token>

{
  "resource": {
    "type": "audience",
    "id": "https://api.partner.example"
  },
  "context": {
    "client_id": "gateway-client",
    "may_act": { "sub": "spiffe://cluster/ns/prod/sa/gateway" }
  },
  "evaluations": [
    {
      "subject": { "type": "user", "id": "alice@example.com" },
      "action":  {
        "name": "issue:access_token:token_exchange"
      }
    },
    {
      "subject": {
        "type": "workload",
        "id": "spiffe://cluster/ns/prod/sa/gateway"
      },
      "action":  {
        "name": "issue:access_token:token_exchange"
      }
    },
    {
      "subject": { "type": "user", "id": "alice@example.com" },
      "action":  { "name": "read:docs" }
    }
  ],
  "options": { "evaluations_semantic": "execute_all" }
}
]]></sourcecode>
        <t>A relationship-based PDP reads the second tuple as an edge between
<tt>workload:spiffe://cluster/ns/prod/sa/gateway</tt> and
<tt>audience:https://api.partner.example</tt> under the relation
<tt>issue_access_token_token_exchange</tt>. No property bag is consulted, and the
relation is distinct from the one that would govern the gateway obtaining a
token for itself under the client credentials grant.</t>
        <sourcecode type="http-message"><![CDATA[
HTTP/1.1 200 OK
Content-Type: application/json

{
  "evaluations": [
    { "decision": true },
    { "decision": true },
    {
      "decision": true,
      "context": {
        "issuance": {
          "token_lifetime": 300,
          "claims": { "groups": ["eng", "sre"] }
        }
      }
    }
  ]
}
]]></sourcecode>
        <t>The AS issues an access token for <tt>https://api.partner.example</tt> bearing
<tt>scope</tt> of <tt>read:docs</tt>, an <tt>act</tt> claim naming the gateway, a <tt>groups</tt> claim,
and a lifetime no greater than 300 seconds.</t>
      </section>
      <section anchor="scopeless-id-jag-two-levels">
        <name>Scopeless ID-JAG, Two Levels</name>
        <t>An ID-JAG request naming a resource but no scopes. Two gate tuples at level
1, no scope tuples anywhere, and the PDP supplies the grantable set.</t>
        <sourcecode type="json"><![CDATA[
{
  "context": { "client_id": "chatterbox-idp-7f3a" },
  "evaluations": [
    {
      "subject":  { "type": "user", "id": "U0405936" },
      "action":   { "name": "issue:id_jag:token_exchange" },
      "resource": {
        "type": "audience",
        "id": "https://as.app.example"
      }
    },
    {
      "subject":  { "type": "client", "id": "chatterbox-idp-7f3a" },
      "action":   { "name": "issue:id_jag:token_exchange" },
      "resource": {
        "type": "audience",
        "id": "https://as.app.example"
      }
    }
  ],
  "options": { "evaluations_semantic": "execute_all" }
}
]]></sourcecode>
        <sourcecode type="json"><![CDATA[
{
  "evaluations": [
    {
      "decision": true,
      "context": {
        "issuance": {
          "granted_scope": "files.read",
          "token_lifetime": 300
        }
      }
    },
    { "decision": true }
  ]
}
]]></sourcecode>
        <t>The AS mints an ID-JAG naming <tt>files.read</tt> and the requested resource. Had
the PDP returned a bare permit, the AS would have fallen back to its own
default scope set for that client and target, which is a safe degradation:
a PDP unable to enumerate a grantable set is not thereby able to broaden
one.</t>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>The considerations of <xref target="ISSUANCE"/> apply in full, including fail-closed
behavior, the treatment of the PDP as a trust dependency, and the privacy
consequences of consulting a PDP on every issuance.</t>
      <section anchor="impersonation-is-the-dangerous-case">
        <name>Impersonation Is the Dangerous Case</name>
        <t>An impersonation exchange produces a token indistinguishable from one issued
to the subject directly. Nothing downstream can determine that a different
party obtained it, which means no downstream enforcement point can apply
policy to the requesting party's involvement. The requesting party gate
tuple of <xref target="actor-gate"/> is the only point at which that party's authority is
evaluated at all.</t>
        <t>An implementation that omitted it - reasoning that the client was already
authenticated, or that <tt>may_act</tt> was present in the subject token - would
externalize the delegation decision in name only. Client authentication
establishes who is asking; it does not establish that they may ask for this.</t>
      </section>
      <section anchor="chain-depth-and-repeated-exchange">
        <name>Chain Depth and Repeated Exchange</name>
        <t>A token obtained by exchange may itself be exchanged. Each exchange is an
independent decision under this binding, so authority cannot be broadened by
iteration: every step is gated, and the scope tuples at each step are
bounded by what the AS would otherwise grant.</t>
        <t>What repetition can accumulate is <em>lifetime</em>. A chain of exchanges, each
issuing a token whose lifetime is permitted at that moment, can keep
authority alive well past the point at which the original grant would have
expired. Deployments <bcp14>SHOULD</bcp14> convey the existing <tt>act</tt> chain in context so
that policy can act on chain depth, and <bcp14>SHOULD</bcp14> bound the lifetime of an
exchanged token by the remaining lifetime of the subject token. The second
is an AS responsibility: a <tt>token_lifetime</tt> shaping value is a ceiling and
never a floor, so a PDP cannot repair an AS that fails to apply it.</t>
      </section>
      <section anchor="trust-in-the-subject-token-issuer">
        <name>Trust in the Subject Token Issuer</name>
        <t>In cross-domain flows the subject token is issued by a party in another
trust domain, and the claims conveyed to the PDP as context originate there.
A PDP whose policy depends on those claims has extended trust to that
issuer. This is a further reason for the five-tuple rule: a decision that
depends only on the resolved local subject identifier, the requesting party,
the action, and the target depends on values the local AS established
itself.</t>
      </section>
      <section anchor="denial-information-disclosure">
        <name>Denial Information Disclosure</name>
        <t>Both the error mapping above and <xref target="ISSUANCE"/>'s prohibition on relaying PDP
reason strings exist to keep the requesting party from learning the shape of
a policy that governs a subject it is merely acting for. Deployments adding
diagnostics to token endpoint error responses should preserve this.</t>
      </section>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <section anchor="iana-actions">
        <name>Issuance Authorization Action Names</name>
        <t>IANA is requested to register the following token type short names in the
"OAuth Token Issuance Authorization Action Names" registry established by
<xref target="ISSUANCE"/>, whose registration policy is Specification Required
<xref target="RFC8126"/>:</t>
        <table>
          <thead>
            <tr>
              <th align="left">Short name</th>
              <th align="left">Token type</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">
                <tt>id_jag</tt></td>
              <td align="left">
                <tt>urn:ietf:params:oauth:token-type:id-jag</tt></td>
            </tr>
            <tr>
              <td align="left">
                <tt>txn_token</tt></td>
              <td align="left">
                <tt>urn:ietf:params:oauth:token-type:txn_token</tt></td>
            </tr>
            <tr>
              <td align="left">
                <tt>jwt</tt></td>
              <td align="left">
                <tt>urn:ietf:params:oauth:token-type:jwt</tt></td>
            </tr>
            <tr>
              <td align="left">
                <tt>saml1</tt></td>
              <td align="left">
                <tt>urn:ietf:params:oauth:token-type:saml1</tt></td>
            </tr>
            <tr>
              <td align="left">
                <tt>saml2</tt></td>
              <td align="left">
                <tt>urn:ietf:params:oauth:token-type:saml2</tt></td>
            </tr>
          </tbody>
        </table>
        <t>The short names for <tt>access_token</tt>, <tt>refresh_token</tt>, and <tt>id_token</tt>, and the
<tt>token_exchange</tt> grant type short name that pairs with all of the above, are
registered by <xref target="ISSUANCE"/>.</t>
        <t><tt>id_jag</tt> uses an underscore where the token type URI uses a hyphen, as
<xref target="ISSUANCE"/> requires of every registered short name.</t>
        <ul empty="true">
          <li>
            <t><strong>Editor's note.</strong> These registrations depend on the corresponding token
types being registered in the "OAuth URI" registry by their own
specifications. <tt>id-jag</tt> and <tt>txn_token</tt> are requested by documents still
in progress, and the short names above should be confirmed against the
values those documents ultimately register.</t>
          </li>
        </ul>
      </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="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="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="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="ISSUANCE">
          <front>
            <title>AuthZEN Profile for OAuth 2.0 Token Issuance</title>
            <author fullname="Omri Gazitt" initials="O." surname="Gazitt">
              <organization>Independent</organization>
            </author>
            <date day="1" month="September" year="2026"/>
            <abstract>
              <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.

   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.

   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>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-gazitt-oauth-authzen-issuance-01"/>
        </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="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="RFC8705">
          <front>
            <title>OAuth 2.0 Mutual-TLS Client Authentication and Certificate-Bound Access Tokens</title>
            <author fullname="B. Campbell" initials="B." surname="Campbell"/>
            <author fullname="J. Bradley" initials="J." surname="Bradley"/>
            <author fullname="N. Sakimura" initials="N." surname="Sakimura"/>
            <author fullname="T. Lodderstedt" initials="T." surname="Lodderstedt"/>
            <date month="February" year="2020"/>
            <abstract>
              <t>This document describes OAuth client authentication and certificate-bound access and refresh tokens using mutual Transport Layer Security (TLS) authentication with X.509 certificates. OAuth clients are provided a mechanism for authentication to the authorization server using mutual TLS, based on either self-signed certificates or public key infrastructure (PKI). OAuth authorization servers are provided a mechanism for binding access tokens to a client's mutual-TLS certificate, and OAuth protected resources are provided a method for ensuring that such an access token presented to it was issued to the client presenting the token.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8705"/>
          <seriesInfo name="DOI" value="10.17487/RFC8705"/>
        </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="RFC9449">
          <front>
            <title>OAuth 2.0 Demonstrating Proof of Possession (DPoP)</title>
            <author fullname="D. Fett" initials="D." surname="Fett"/>
            <author fullname="B. Campbell" initials="B." surname="Campbell"/>
            <author fullname="J. Bradley" initials="J." surname="Bradley"/>
            <author fullname="T. Lodderstedt" initials="T." surname="Lodderstedt"/>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <author fullname="D. Waite" initials="D." surname="Waite"/>
            <date month="September" year="2023"/>
            <abstract>
              <t>This document describes a mechanism for sender-constraining OAuth 2.0 tokens via a proof-of-possession mechanism on the application level. This mechanism allows for the detection of replay attacks with access and refresh tokens.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9449"/>
          <seriesInfo name="DOI" value="10.17487/RFC9449"/>
        </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="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 880?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>The separation of issuance authority from access authority, which this
document expresses as two gate tuples, was arrived at by working through the
protocol messages of <xref target="I-D.ietf-oauth-identity-assertion-authz-grant"/> and
<xref target="I-D.ietf-oauth-transaction-tokens"/>, and the resulting shape owes a great
deal to the care with which those documents model their inputs.</t>
      <t>Thanks to the members of the OAuth Working Group and the OpenID AuthZEN
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>Authorization details are narrowed by the cell rather than by the scope
tuple, following the authorization detail tuple <xref target="ISSUANCE"/> now defines.</t>
          </li>
          <li>
            <t><xref target="two-level"/> places authorization detail tuples at level 2 and says which
targets are substituted for an entry that omits <tt>locations</tt>.</t>
          </li>
          <li>
            <t>A denied scope tuple at level 2 and a denied authorization detail cell at
level 2 narrow different things, and the scope intersection is justified by
what an ID-JAG loses at redemption rather than by <xref target="RFC9068"/>.</t>
          </li>
          <li>
            <t>Removed the enforcement point capability declaration from the examples,
which <xref target="ISSUANCE"/> no longer defines.</t>
          </li>
        </ul>
      </section>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA81963LcRpbm/3yKXDqmbVdUFUXZ7QvV9jQtyTZ7bEkr0utt
T3SIWVVZRVgooAZAkSrL6mfZZ9kn23PNCwBK8uzExjq6bRIEEnk59/Odg9ls
ZrqiK/2pPTrbd9e/PH5ivymqVVFt7Lpu7FO8aO/P79nL+qWv7ONXy2tXbfyR
cYtF42+Sx/IbdJQjs3Sd39TN4dS23cqs6mXltvC6VePW3Wzjfiu6blY7GGSG
//rNV7MOR5p5GWl278S0+8W2aNuirrrDDh4+f3z5rSl2zantmn3b3b9378t7
941rvIMJXfjlvim6w5G5rZuXm6be7+Dqz35hcap1U/zmOhjJPmvqrl7WJUyx
rlpftfuWxvMGlvWJeekP8Pzq1NiZpfnhDy4dQS/AnPHHXV0WywP+RAuwugC8
svKl3/BDN77aexjVvs/MrOUFH/0MS8FD+Q4fwutbV5RwnWb218J363ndbPAP
rllewx+uu27Xnh4f4314qbjxc73tGC8cL5r6tvXHNMIxPrkpuuv9AgflYznO
juXIGF497gjcbe16X5Z8mEdPt01hv6Onjuhv8BZXyXrg7+fVyu88/KuSv3ud
P7/qrxv8fb6st/Caqm628OAN7dLzbx9+9vmnX8qPX3z25Sf64+f3Pscfz366
/B7o75SGTWk57ufZs3N7Mr/Hb+5cs/FdskM1TKxYzSvfHbc7v2yPs0OeuV0x
O3lxb7YuKlfOr7ttyeOsgK5P7f179z8DCp2dnNDFsEP0z8wWVYu7A284f2S/
rffVSmYkTDM4Vv4Hdm/sMbzh/OLip7MnDx8DE8wezUf5Bzhl76qlN6ao1r29
/OLk/mdxA/8sP35577Mv9MdPebNxdKQXGbvAowOmmgFNFxVM+W33uLb1DW8e
Tmm2aVzVjTzQwfXWLelO4pkWb/rl7Mkv59+cPc9P9BdX/VYsHLD8d3W9Kf2H
rX0IbFu0Hbx0ar8r64Ure3x0cYC/bu849tvb2/ke2L54RSwBMmDtGw/bduy6
5cmXx7vGw187Gul456pNfuwnX9594M/n9hk8MLj40C3hFW1+/ce5/WbfIC8a
M5uBRFm0sC/Lzpi7hK/9CM7JIit8DIIF6NK3trv2dltvYcLWdfb2ulheW1eZ
jJQtnMqNb+CZJRxVC3d5eKyxdeXtzjXdAYTKwdaLDk7YOpFiXW1hMta1U1Pj
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

-->

</rfc>
