<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.39 (Ruby 3.4.9) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-mcguinness-oauth-id-continuation-assertion-01" category="std" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.34.0 -->
  <front>
    <title abbrev="Identity Continuation Assertion">Identity Continuation Assertion for OAuth 2.0 Token Exchange</title>
    <seriesInfo name="Internet-Draft" value="draft-mcguinness-oauth-id-continuation-assertion-01"/>
    <author fullname="Karl McGuinness">
      <organization>Independent</organization>
      <address>
        <email>public@karlmcguinness.com</email>
      </address>
    </author>
    <date year="2026" month="August" day="26"/>
    <area>Security</area>
    <workgroup>Web Authorization Protocol</workgroup>
    <keyword>oauth</keyword>
    <keyword>token exchange</keyword>
    <keyword>identity chaining</keyword>
    <keyword>delegation</keyword>
    <keyword>id-jag</keyword>
    <abstract>
      <?line 83?>

<t>This document defines the Identity Continuation Assertion, a short-lived,
sender-constrained JWT used as an OAuth 2.0 Token Exchange subject token. It
lets an IdP Authorization Server (IdP) issue an onward Identity Assertion JWT
Authorization Grant (ID-JAG) when a user's request crosses service boundaries
after the user is no longer present. The profile targets deployments in which
several Resource Authorization Servers trust one IdP and use audience-local
subject identifiers that only the IdP can resolve. It complements offline
attenuation for intra-domain fan-out that does not change the subject.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://mcguinness.github.io/draft-mcguinness-oauth-id-continuation-assertion/draft-mcguinness-oauth-id-continuation-assertion.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-mcguinness-oauth-id-continuation-assertion/"/>.
      </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/mcguinness/draft-mcguinness-oauth-id-continuation-assertion"/>.</t>
    </note>
  </front>
  <middle>
    <?line 94?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>OAuth 2.0 <xref target="RFC6749"/> issues access tokens for use at protected resources, and
OAuth 2.0 Token Exchange <xref target="RFC8693"/> trades one token for another when a
request crosses a trust boundary. The Identity Assertion JWT Authorization
Grant (ID-JAG) <xref target="I-D.ietf-oauth-identity-assertion-authz-grant"/> applies Token
Exchange to identity: an IdP Authorization Server (IdP) mints a grant that
names the user for a single downstream audience. Each such exchange assumes
the subject's credential (an ID Token, refresh token, or SAML assertion) is
still available when the grant is minted.</t>
      <t>In practice, many requests outlive that moment. An authenticated request may
cross several services after the user is no longer present, or reach an
audience the original credential never addressed. The first hop can still
present the subject's credential to obtain an ID-JAG, but a workload further
along the chain holds none of these credentials. This is hardest when each
Resource Authorization Server names the user by a pairwise, audience-local
subject that only the IdP can resolve, and that differs at every server: the
later workload has no way to name the user for the next audience. Only the IdP
can perform that mapping, so each continuation is a fresh mint from the IdP
rather than a reused or offline-attenuated token.</t>
      <t>This document defines the Identity Continuation Assertion: a short-lived,
sender-constrained JWT that a later workload presents as the <tt>subject_token</tt>
of a Token Exchange request to obtain the next audience-scoped ID-JAG, with no
further user interaction. The assertion carries a continuation handle that
ties the request to the authorization state the IdP recorded when the chain
was established. A Resource Authorization Server (RAS) still trusts only the
IdP to name the user and scope authority; at each hop the IdP resolves
identity and re-checks the requested authority against the root-chain
envelope. Continuation therefore stays a fresh policy decision at every
boundary, never a bearer of standing authority.</t>
      <t>Each trust domain the chain continues from has two roles: a RAS that
accepts an ID-JAG and binds the hop, and a Continuation Assertion Issuer (CAI)
that mints the Identity Continuation Assertion the workload presents to the
IdP. A trusted intra-domain carrier surfaces the accepted hop's handle to
workloads inside the domain (<xref target="transaction-token-context"/>); the carrier is a
deployment choice, not a role of its own, and one party may run all of these
within a domain (<xref target="security-trust-model"/>).</t>
      <t>The profile stays deliberately narrow: it defines no new access-token format,
a Resource Server never consumes the Identity Continuation Assertion directly,
and a CAI never names the user for the target audience.</t>
      <section anchor="decision-rule">
        <name>When to Use This Profile Versus Offline Attenuation</name>
        <t>Use this profile when a boundary re-mints the user's identity, that is:</t>
        <ul spacing="normal">
          <li>
            <t>the next audience uses a pairwise subject only the IdP can resolve;</t>
          </li>
          <li>
            <t>the target trusts the IdP, not the previous issuer, to name the user; and</t>
          </li>
          <li>
            <t>current revocation and policy must be rechecked at every boundary.</t>
          </li>
        </ul>
        <t>Use offline attenuation, such as <xref target="I-D.li-oauth-delegated-authorization"/>, when
the subject and the trusted issuer both stay stable across the boundary and
offline delegation semantics are acceptable, for example intra-domain fan-out
under one workload identity. The two compose: offline attenuation inside a
trust domain, continuation where a boundary re-mints the subject.</t>
      </section>
      <section anchor="relationship-to-id-jag-and-identity-chaining">
        <name>Relationship to ID-JAG and Identity Chaining</name>
        <t>This document profiles Token Exchange <xref target="RFC8693"/>, JWT <xref target="RFC7519"/>, ID-JAG
<xref target="I-D.ietf-oauth-identity-assertion-authz-grant"/>, and OAuth Identity Chaining
<xref target="I-D.ietf-oauth-identity-chaining"/>. It adds:</t>
        <ul spacing="normal">
          <li>
            <t>the Identity Continuation Assertion subject-token type;</t>
          </li>
          <li>
            <t>an <tt>identity_continuation_handle</tt> claim in continuation-capable ID-JAGs;</t>
          </li>
          <li>
            <t>RAS binding of that claim to accepted authorization state;</t>
          </li>
          <li>
            <t>continuation-exchange validation rules;</t>
          </li>
          <li>
            <t>intra-domain handle propagation; and</t>
          </li>
          <li>
            <t>discovery metadata.</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="terms">
      <name>Conventions and Definitions</name>
      <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
      <?line -18?>

<t>This document uses the following terms:</t>
      <dl>
        <dt>IdP Authorization Server (IdP):</dt>
        <dd>
          <t>The authority that authenticates the user, maps the user to each
audience-local subject, and issues onward grants.</t>
        </dd>
        <dt>Resource Authorization Server (RAS):</dt>
        <dd>
          <t>An Authorization Server that protects a particular API and trusts the
IdP for subject resolution. It exchanges an ID-JAG for an API access token.
<xref target="I-D.ietf-oauth-identity-assertion-authz-grant"/> abbreviates this role (AS).</t>
        </dd>
        <dt>Resource Server (RS):</dt>
        <dd>
          <t>The server hosting the protected API. It never consumes an Identity
Continuation Assertion or uses a continuation handle for authorization.</t>
        </dd>
        <dt>ID-JAG:</dt>
        <dd>
          <t>An Identity Assertion JWT Authorization Grant
<xref target="I-D.ietf-oauth-identity-assertion-authz-grant"/> issued for a target RAS.</t>
        </dd>
        <dt>Continuation-capable:</dt>
        <dd>
          <t>Describes any of: an ID-JAG that carries the <tt>identity_continuation_handle</tt>
claim (<xref target="chain-id"/>); a governing authorization that permits continuation;
or the root exchange such an authorization governs (<xref target="root-establishment"/>).</t>
        </dd>
        <dt>Identity Continuation Assertion:</dt>
        <dd>
          <t>A short-lived, sender-constrained JWT from a CAI, presented to
the IdP as a Token Exchange <tt>subject_token</tt> to obtain an onward ID-JAG.</t>
        </dd>
        <dt>Chain:</dt>
        <dd>
          <t>An IdP-held tree of hops under one governing authorization (<xref target="lifecycle"/>).</t>
        </dd>
        <dt>Continuation Assertion Issuer (CAI):</dt>
        <dd>
          <t>The role trusted by the IdP to issue Identity Continuation Assertions for a
tenant. It may be a RAS, gateway, or dedicated service, but never
resolves the target audience's user subject.</t>
        </dd>
        <dt>Current actor (presenting actor):</dt>
        <dd>
          <t>The workload presenting the assertion to the IdP, named by <tt>act</tt> and
authenticated by <tt>actor_token</tt>.</t>
        </dd>
        <dt>Root actor:</dt>
        <dd>
          <t>The actor at the root of a chain: the authenticated OAuth client that
obtains the first ID-JAG (<xref target="client-identity"/>); this is the Client of
<xref target="I-D.ietf-oauth-identity-assertion-authz-grant"/> at the root exchange.
Unlike a current actor, it need not present an <tt>actor_token</tt>.</t>
        </dd>
        <dt>Tenant:</dt>
        <dd>
          <t>The administrative boundary within which the chain and CAI trust are
configured; its determination is deployment-defined
(<xref target="security-trust-model"/>).</t>
        </dd>
        <dt>Trust domain:</dt>
        <dd>
          <t>An administrative and authentication boundary within which workloads can
be directly authenticated, comparable to WIMSE
<xref target="I-D.ietf-wimse-arch"/>. Its identifier is deployment-defined.</t>
        </dd>
        <dt>Intra-domain carrier:</dt>
        <dd>
          <t>The server-derived, deployment-specific mechanism that surfaces an accepted
hop's handle to authorized workloads within a trust domain
(<xref target="transaction-token-context"/>).</t>
        </dd>
        <dt>Continuation Handle (<tt>identity_continuation_handle</tt>):</dt>
        <dd>
          <t>An opaque, unguessable, IdP-generated reference to one hop of a continuation
chain; see <xref target="chain-id"/>.</t>
        </dd>
        <dt>Hop:</dt>
        <dd>
          <t>A root or continuation record; a continuation record carries an immutable
parent reference and a root record has none. Its lineage is its path to the
root.</t>
        </dd>
        <dt>Governing authorization:</dt>
        <dd>
          <t>The server-side consent and policy record, resolved from the root subject
token, that anchors a chain and bounds every continuation under it
(<xref target="lifecycle"/>).</t>
        </dd>
        <dt>Root-chain envelope:</dt>
        <dd>
          <t>The state the IdP records at establishment and evaluates every continuation
against, anchored to the chain's governing authorization (<xref target="lifecycle"/>); its
dimensions and bounds are defined in <xref target="root-establishment"/>.</t>
        </dd>
        <dt>Audience-local (pairwise) subject:</dt>
        <dd>
          <t>The subject identifier under which a particular RAS names the user. Distinct
Resource Authorization Servers may name the same user with different
identifiers; only the IdP holds the map between them.</t>
        </dd>
        <dt>Offline attenuation:</dt>
        <dd>
          <t>Client-side attenuated delegation, in which a party narrows and forwards a
credential without contacting the IdP; contrast the IdP-minted continuation
this profile defines (<xref target="decision-rule"/>).</t>
        </dd>
      </dl>
    </section>
    <section anchor="assertion">
      <name>The Identity Continuation Assertion</name>
      <section anchor="names">
        <name>Token Type and Media Type</name>
        <t>The Identity Continuation Assertion has token type
<tt>urn:ietf:params:oauth:token-type:identity-continuation</tt> and media type
<tt>application/oauth-identity-continuation+jwt</tt> (<xref target="iana"/>). It is a JWT
<xref target="RFC7519"/> in JWS Compact Serialization. The CAI <bcp14>MUST</bcp14> set the JOSE <tt>typ</tt>
header to <tt>oauth-identity-continuation+jwt</tt> and <bcp14>MUST</bcp14> sign with an asymmetric
algorithm the IdP accepts (<xref target="security-alg"/>). The assertion <bcp14>MUST NOT</bcp14> be
encrypted (JWE) or use nested signing.</t>
      </section>
      <section anchor="assertion-claims">
        <name>Claims</name>
        <t>The following is a non-normative example of the Identity Continuation Assertion
claim set:</t>
        <sourcecode type="json"><![CDATA[
{
  "iss": "https://cai.expenses.example/",
  "aud": "https://idp.example/",
  "identity_continuation_handle": "kW4uJ8pTe2NxA6rQvD1zYs",

  "act": {
    "iss": "https://expenses.example/",
    "sub": "expense-service"
  },

  "cnf": {
    "jkt": "base64url-current-actor-key-thumbprint"
  },

  "iat": 1710000500,
  "exp": 1710000620,
  "jti": "k7Qm2Xp9Rf4sLc3vBw8aZ1"
}
]]></sourcecode>
        <t>The claims have the following meanings and requirements:</t>
        <dl>
          <dt><tt>iss</tt>:</dt>
          <dd>
            <t><bcp14>REQUIRED</bcp14>. The CAI that issued the assertion; the IdP verifies its issuer
trust per <xref target="validation"/>, rule 3, and its signature per rule 2.</t>
          </dd>
          <dt><tt>aud</tt>:</dt>
          <dd>
            <t><bcp14>REQUIRED</bcp14>. A single string exactly matching the IdP issuer identifier, not
its token endpoint URL.</t>
          </dd>
          <dt><tt>identity_continuation_handle</tt>:</dt>
          <dd>
            <t><bcp14>REQUIRED</bcp14>. The hop being continued (<xref target="chain-id"/>).</t>
          </dd>
          <dt><tt>act</tt>:</dt>
          <dd>
            <t><bcp14>REQUIRED</bcp14>. The current actor presenting the Token Exchange request, encoded
as a single-level <tt>act</tt> claim per <xref target="RFC8693"/>, with a <bcp14>REQUIRED</bcp14> <tt>iss</tt> and
<tt>sub</tt>, both non-empty strings. Additional members <bcp14>MAY</bcp14> carry further identity
attributes but are non-authoritative and <bcp14>MUST NOT</bcp14> affect identity,
authorization, lineage, or issuance; a recipient <bcp14>MUST</bcp14> ignore members it does
not understand, and <tt>exp</tt>, <tt>nbf</tt>, <tt>aud</tt>, <tt>scope</tt>, <tt>cnf</tt>, and nested <tt>act</tt>
              <bcp14>MUST NOT</bcp14> be present.</t>
          </dd>
          <dt><tt>cnf</tt>:</dt>
          <dd>
            <t><bcp14>REQUIRED</bcp14>. A confirmation claim <xref target="RFC7800"/> that binds the assertion to the
presenting actor's key. It <bcp14>MUST</bcp14> contain exactly one method: <tt>jkt</tt>, the JWK
SHA-256 thumbprint <xref target="RFC7638"/> of the DPoP key <xref target="RFC9449"/>.</t>
          </dd>
          <dt><tt>iat</tt>, <tt>exp</tt>:</dt>
          <dd>
            <t><bcp14>REQUIRED</bcp14>. <tt>exp</tt> <bcp14>MUST</bcp14> follow <tt>iat</tt>, and <tt>exp - iat</tt> <bcp14>MUST NOT</bcp14> exceed 300
seconds.</t>
          </dd>
          <dt><tt>jti</tt>:</dt>
          <dd>
            <t><bcp14>REQUIRED</bcp14>. A replay-detection identifier that <bcp14>MUST</bcp14> be unique per <tt>iss</tt>
during the assertion validity window and <bcp14>MUST</bcp14> contain at least 128 bits
of entropy.</t>
          </dd>
        </dl>
        <t>The assertion is a subject token whose subject the IdP resolves from the
referenced hop, not an <xref target="RFC7523"/> JWT-profile assertion. It <bcp14>MUST NOT</bcp14> contain
a top-level <tt>sub</tt>, <tt>auth_time</tt>, <tt>acr</tt>, <tt>amr</tt>, or <tt>sid</tt> claim (these come from
the root-chain envelope), nor the Token Exchange request parameters
<tt>audience</tt>, <tt>resource</tt>, <tt>scope</tt>,
<tt>authorization_details</tt>, or <tt>requested_token_type</tt> (these are supplied by
the request). The assertion's <tt>aud</tt> identifies the IdP, not the requested
target.</t>
        <t>Other top-level claims <bcp14>MAY</bcp14> appear but <bcp14>MUST</bcp14> be ignored for validation,
authorization, and issuance.</t>
      </section>
    </section>
    <section anchor="chain-id">
      <name>Continuation Handles (<tt>identity_continuation_handle</tt>)</name>
      <t>An <tt>identity_continuation_handle</tt> is an opaque, non-bearer reference to one
IdP-held hop of a chain. The IdP mints a fresh handle for each hop and carries
it in that hop's ID-JAG; continuing from a hop produces a child hop with its
own handle, recorded against the hop it continued from.</t>
      <t>The following rules apply:</t>
      <ol spacing="normal" type="1"><li>
          <t>When it establishes or continues a chain (<xref target="root-establishment"/>), the IdP
<bcp14>MUST</bcp14> embed a fresh <tt>identity_continuation_handle</tt> claim in the issued
ID-JAG, for that root or child hop, and <bcp14>MUST NOT</bcp14> reuse a handle across hops.
An ID-JAG carrying this claim is continuation-capable.</t>
        </li>
        <li>
          <t><tt>identity_continuation_handle</tt> <bcp14>MUST</bcp14> contain at least 128 bits of entropy,
<bcp14>MUST NOT</bcp14> contain user-identifying information, and <bcp14>MUST</bcp14> consist of 22 to
256 characters drawn from the base64url alphabet (<tt>A</tt>-<tt>Z</tt>, <tt>a</tt>-<tt>z</tt>,
<tt>0</tt>-<tt>9</tt>, <tt>-</tt>, <tt>_</tt>).</t>
        </li>
        <li>
          <t>The handle crosses a trust boundary only inside an ID-JAG (to the RAS) or
an Identity Continuation Assertion (to the IdP), never standalone, and
<bcp14>MUST NOT</bcp14> appear in an access token or external Resource Server
authorization claim. Authorized workloads <bcp14>MAY</bcp14> observe it only as
intra-domain context (<xref target="transaction-token-context"/>).</t>
        </li>
        <li>
          <t>A continuation-aware RAS binds the handle to the authorization state it
establishes (<xref target="ras-processing"/>); RASes, Resource Servers, and CAIs <bcp14>MUST NOT</bcp14>
modify the value. A hop is continuable only after that acceptance and binding
(<xref target="hop-activation"/>); the IdP <bcp14>MUST</bcp14> use the handle only to resolve hop state,
subject, and policy, never as authority.</t>
        </li>
        <li>
          <t>A hop's parent reference is immutable. The IdP <bcp14>MUST</bcp14> derive lineage only by
walking parent references to the root; it does not maintain a single
chain-wide actor history, so concurrent sibling continuations are
independent branches.</t>
        </li>
      </ol>
    </section>
    <section anchor="lifecycle">
      <name>Chain Lifetime and Revocation</name>
      <t>A chain is continuable only while active at the IdP. Each cross-boundary hop
is a fresh policy check. Revoking a hop stops its subtree at the next
continuation, fail-closed, but does not invalidate already-issued ID-JAGs or
access tokens; the revocation window is therefore bounded by their respective
lifetimes.</t>
      <t>This is the deliberate difference from an offline-attenuated token, whose
minted child stays usable for its lifetime without contacting an authority.</t>
      <t>Three independent lifetimes govern a continuation: the ID-JAG's short
redemption window; the access-token lifetime the accepting RAS sets, which
this profile does not constrain (<xref target="ras-processing"/>); and the IdP-held
continuation chain. Revoking the chain does not shorten an already-issued
access token, and an access token outliving the chain does not extend it.</t>
      <artwork><![CDATA[
ID-JAG redeem   |==|
access token    |===========|              RAS-set, independent
IdP-held chain  |=========================| IdP-held, spans hops
]]></artwork>
      <t>The governing authorization (<xref target="terms"/>) anchors to a lifecycle token: a refresh
token anchors to its OAuth grant, and <tt>sid</tt> or <tt>SessionIndex</tt> anchors to its
session. Rotation of a refresh token does not affect the grant anchor.</t>
      <t>A chain ends when:</t>
      <ul spacing="normal">
        <li>
          <t>the grant it is anchored to expires or is revoked;</t>
        </li>
        <li>
          <t>the session it is anchored to terminates; or</t>
        </li>
        <li>
          <t>continuation consent or policy for it is withdrawn.</t>
        </li>
      </ul>
      <t>A session-anchored chain <bcp14>MUST NOT</bcp14> outlive its session; only grant-anchored
chains may outlive logout. Ending a chain this way bounds only new
continuations; an ID-JAG already issued remains redeemable for its own
lifetime, since redemption is not a continuation.</t>
      <t>The IdP <bcp14>MUST</bcp14> bound chain lifetime by the governing
authorization. It <bcp14>MUST</bcp14> support administrative revocation of an entire chain
and <bcp14>MAY</bcp14> revoke an individual hop's subtree, and <bcp14>MUST</bcp14> reject continuation on a
revoked, expired, or ended chain.</t>
      <t>How an IdP surfaces chains to users and administrators for review and
revocation is deployment-specific; <xref target="GRANT-MGMT"/> describes OAuth grant
management for that purpose.</t>
    </section>
    <section anchor="access">
      <name>Multi-Hop Cross-Domain Access</name>
      <section anchor="overview">
        <name>Overview</name>
        <t>A continuation reuses the Token Exchange loop once per boundary: the root
exchange mints the first ID-JAG, and each later boundary mints the next from an
Identity Continuation Assertion. Handles H0 and H1 below name the successive
hops (<xref target="chain-id"/>).</t>
        <artwork><![CDATA[
  Client      Workload    CAI         IdP         RAS
  |           |           |           |           |
  | base ID-JAG exchange  |           |           |
  |---------------------------------->|           |
  | issue ID-JAG (H0)     |           |           |
  |<----------------------------------|           |
  | present ID-JAG        |           |           |
  |---------------------------------------------->|
  | issue access token, bind H0       |           |
  |<----------------------------------------------|
  |           |           |           |           |
  | carrier surfaces H0 to a later workload       |
  |           |           |           |           |
  |           | request assertion     |           |
  |           |---------->|           |           |
  |           | attest hop, actor, key|           |
  |           |<----------|           |           |
  |           | present assertion     |           |
  |           |---------------------->|           |
  |           | issue ID-JAG (H1)     |           |
  |           |<----------------------|           |
]]></artwork>
        <t>H1 then travels to the next boundary exactly as H0 did, and the loop repeats
until a hop reaches a terminal RAS. A hop is PENDING when the IdP issues its
ID-JAG, ACCEPTED once the RAS binds it, and CONTINUABLE while a mapped CAI
attests the still-active binding (<xref target="hop-activation"/>). The workload that
continues is a later party, not the original client that established the chain.</t>
        <t>Each role validates only within its authority, and no artifact or role alone
authorizes continuation (<xref target="security-trust-model"/>). The sections that follow
trace artifact production and processing: the CAI issues the assertion
(<xref target="assertion-issuance"/>), the IdP validates the exchange and issues the next
ID-JAG (<xref target="token-exchange"/>), the accepting RAS binds and processes it
(<xref target="ras-processing"/>), and the domain surfaces the handle to later continuers
(<xref target="transaction-token-context"/>).</t>
      </section>
      <section anchor="assertion-issuance">
        <name>Issuing the Assertion</name>
        <t>The CAI mints the Identity Continuation Assertion a workload presents to
continue a chain across a boundary. It <bcp14>MUST</bcp14> issue only for an actor in the
attested RAS's trust domain; actor authentication and the issuance protocol
are deployment-specific. The CAI <bcp14>MUST</bcp14> set the assertion's <tt>aud</tt> to the IdP
recorded in the hop's RAS binding (<xref target="ras-processing"/>); it <bcp14>MUST NOT</bcp14> accept an
IdP audience supplied by the requester.</t>
        <t>The current actor is a control-plane participant, not a bare-handle
transporter: it presents the handle read from its own intra-domain context,
with its key and any narrowing hints, to its CAI. The handle is advisory
input, re-verified against RAS-bound state (<xref target="hop-activation"/>) by the checks
below before any assertion issues.</t>
        <t>The CAI <bcp14>MUST</bcp14> authenticate the actor and issue only after establishing that:</t>
        <ol spacing="normal" type="1"><li>
            <t>the handle came through an authenticated, confidential,
integrity-protected chain path or equivalent authenticated state;</t>
          </li>
          <li>
            <t>the current actor is authorized under CAI policy to continue the chain;</t>
          </li>
          <li>
            <t>the current actor controls the key placed in <tt>cnf</tt>;</t>
          </li>
          <li>
            <t><tt>act</tt> names that actor and, if offline attenuation reached the actor, its
delegation artifact is valid;</t>
          </li>
          <li>
            <t>the actor is bound to the current transaction and the handle matches that
transaction's RAS-bound state; and</t>
          </li>
          <li>
            <t>a recheck against authoritative RAS state confirms the authorization
remains active and continuation remains permitted.</t>
          </li>
        </ol>
        <t>Possession of a handle or carrier token alone is insufficient. Target or
purpose hints can narrow CAI issuance but <bcp14>MUST NOT</bcp14> control the IdP's target
decision, and propagated context <bcp14>MUST NOT</bcp14> override the root-chain envelope.</t>
      </section>
      <section anchor="token-exchange">
        <name>Token Exchange</name>
        <t>An Identity Continuation Assertion is used as the <tt>subject_token</tt> of an OAuth
2.0 Token Exchange request <xref target="RFC8693"/>. The root exchange and a continuation
exchange use the same Token Exchange framework: a continuation exchange
substitutes an Identity Continuation Assertion for the root credential and
additionally supplies the actor authentication and DPoP proof described below.
The IdP establishes the chain; no request parameter asks it to do so
(<xref target="root-establishment"/>).</t>
        <section anchor="request">
          <name>Request</name>
          <t>The root exchange presents a normal subject token, such as an ID Token,
refresh token, or SAML assertion:</t>
          <artwork><![CDATA[
POST /token HTTP/1.1
Host: idp.example
Content-Type: application/x-www-form-urlencoded
DPoP: <proof of possession of the cnf key>

grant_type=urn:ietf:params:oauth:grant-type:token-exchange
&requested_token_type=urn:ietf:params:oauth:token-type:id-jag
&audience=https://ras.travel.example/
&resource=https://api.travel.example/
&scope=trips.read
&subject_token=<id_token | refresh_token | SAML assertion>
&subject_token_type=<normal-subject-token-type>
&client_assertion_type=urn:ietf:params:oauth:client-assertion-type:jwt-bearer
&client_assertion=<JWT>
]]></artwork>
          <t>On the root exchange, <tt>actor_token</tt> is <bcp14>OPTIONAL</bcp14> (<xref target="root-establishment"/>). The
root exchange and its ID-JAG conform to the base ID-JAG profile
(<xref target="I-D.ietf-oauth-identity-assertion-authz-grant"/>) except where this document
extends it for continuation-capable issuance.</t>
          <t>A continuation exchange presents an Identity Continuation Assertion and adds
the <tt>actor_token</tt> and a DPoP proof of the <tt>cnf</tt> key:</t>
          <artwork><![CDATA[
POST /token HTTP/1.1
Host: idp.example
Content-Type: application/x-www-form-urlencoded
DPoP: <proof of possession of the cnf key>

grant_type=urn:ietf:params:oauth:grant-type:token-exchange
&requested_token_type=urn:ietf:params:oauth:token-type:id-jag
&audience=https://ras.travel.example/
&resource=https://api.travel.example/
&scope=trips.read
&subject_token=<identity-continuation-assertion>
&subject_token_type=urn:ietf:params:oauth:token-type:identity-continuation
&actor_token=<sender-constrained-current-actor-credential>
&actor_token_type=<actor-token-type>
&client_assertion_type=urn:ietf:params:oauth:client-assertion-type:jwt-bearer
&client_assertion=<JWT>
]]></artwork>
          <t>The requested <tt>audience</tt>, <tt>resource</tt>, <tt>scope</tt>, <tt>requested_token_type</tt>, and
any <tt>authorization_details</tt> <xref target="RFC9396"/> are supplied by the Token Exchange
request and never by the assertion (<xref target="assertion-claims"/>). A request can carry
multiple <tt>resource</tt> indicators <xref target="RFC8707"/>, which the IdP treats as an
order-independent set; the envelope-containment check (<xref target="validation"/>, rule 7)
applies to <tt>authorization_details</tt> and to scope alike. Client authentication
is required on every exchange (<xref target="client-identity"/>).</t>
        </section>
        <section anchor="root-establishment">
          <name>Establishing a Chain</name>
          <t>The IdP, not the client, establishes a chain, and <bcp14>MUST</bcp14> do so when the
governing authorization for a root exchange is continuation-capable;
advertised support (<xref target="metadata"/>) signals capability, not authority. To
establish, the IdP <bcp14>MUST</bcp14> include the root handle in the ID-JAG. The root
exchange <bcp14>MUST</bcp14> include a valid DPoP proof <xref target="RFC9449"/>, which the IdP <bcp14>MUST</bcp14> bind
to the ID-JAG in <tt>cnf</tt>. Absent the continuation authorization or a valid
proof, the IdP <bcp14>MUST NOT</bcp14> establish a chain or include an
<tt>identity_continuation_handle</tt>.</t>
          <t>The root subject token <bcp14>MUST</bcp14> resolve to one of these lifecycle anchors:</t>
          <ul spacing="normal">
            <li>
              <t>a refresh token's OAuth grant;</t>
            </li>
            <li>
              <t>an ID Token <tt>sid</tt> <xref target="OIDC.FrontChannelLogout"/> resolving to an active IdP
session for that user and client; or</t>
            </li>
            <li>
              <t>a SAML <tt>SessionIndex</tt> <xref target="SAML2.Core"/> resolving to an active IdP session
for that user and client.</t>
            </li>
          </ul>
          <t>The IdP <bcp14>MUST NOT</bcp14> root a chain from an unresolved anchor or an access token;
non-user-rooted authority is out of scope. <tt>sid</tt> and <tt>SessionIndex</tt> are used
only for resolution and <bcp14>MUST NOT</bcp14> enter assertions or chain context.</t>
          <t>Server-side consent and policy make the governing authorization
continuation-capable and populate the root-chain envelope from authentication,
consent, and tenant policy:</t>
          <ul spacing="normal">
            <li>
              <t>the authenticated user and authentication context (<tt>auth_time</tt>, <tt>acr</tt>,
<tt>amr</tt>);</t>
            </li>
            <li>
              <t>the authorization basis for onward targets;</t>
            </li>
            <li>
              <t>the continuation authorization: the actors or trust domains permitted to
continue the chain, and the basis on which that permission was established;</t>
            </li>
            <li>
              <t>any maximum actor-chain depth set by policy; and</t>
            </li>
            <li>
              <t>the governing authorization (<xref target="lifecycle"/>) and the chain's expiry.</t>
            </li>
          </ul>
          <t>Token claims cannot supply these values. Every dimension is an
establishment-time ceiling that later policy <bcp14>MAY</bcp14> narrow or revoke but <bcp14>MUST NOT</bcp14>
broaden; broadening requires a new chain, and consent granted afterward does
not widen the envelope.</t>
          <t>The envelope takes one of two forms:</t>
          <ul spacing="normal">
            <li>
              <t>an enumerated-target envelope, listing the permitted audiences and, where
used, their resources, scopes, and authorization details <xref target="RFC9396"/>; or</t>
            </li>
            <li>
              <t>a policy-basis envelope, a stable authorization basis against which the IdP
evaluates each requested target at request time.</t>
            </li>
          </ul>
          <t>Either form is fixed at establishment, not whatever the user could later
authorize.</t>
          <t>The root actor is the authenticated OAuth client; its identity rests entirely
on the mapping in <xref target="client-identity"/>. Base ID-JAG's recommendation to use a
confidential client therefore applies to a continuation-capable root. An
optional <tt>actor_token</tt> <bcp14>MUST</bcp14> be valid, accepted for continuation, and
sender-constrained to the confirmed key, and <bcp14>MUST</bcp14>
identify that client and designate the IdP where applicable; the IdP records
the root actor and key only after this validation.</t>
          <t>For every root or child hop, the IdP records the target RAS and the CAIs mapped
to it; the mapping may be static tenant configuration, and only a mapped CAI
may attest that hop.</t>
          <t>Establishment is at-least-once: retrying a lost response <bcp14>MAY</bcp14> create a second
chain. Revocation of the governing authorization applies to every chain rooted
in it, and the actor-chain depth bound is enforced per branch. A retried
establishment <bcp14>MUST NOT</bcp14> evade the fan-out, rate, or hop-count limits configured
for the governing authorization (<xref target="implementation"/>).</t>
        </section>
        <section anchor="client-identity">
          <name>Presenter Authentication</name>
          <t>The client-to-actor mapping below applies to every exchange; the <tt>act</tt> and
<tt>actor_token</tt> matching and the DPoP proof apply to a continuation exchange, and
the root exchange's DPoP requirement is specified in <xref target="root-establishment"/>.</t>
          <t>The current actor <bcp14>MUST</bcp14> authenticate as an OAuth client. Four rules govern how
that authentication maps to an actor identity:</t>
          <ul spacing="normal">
            <li>
              <t><em>Authoritative mapping.</em> The IdP <bcp14>MUST</bcp14> map the authenticated client to an
actor identity; self-asserted mappings <bcp14>MUST NOT</bcp14> be accepted.</t>
            </li>
            <li>
              <t><em>Root versus continuation.</em> On a root exchange, client authentication alone
identifies the root actor (<xref target="root-establishment"/>). On a continuation
exchange, the IdP <bcp14>MUST</bcp14> also match that identity to the assertion's <tt>act</tt> and
the <tt>actor_token</tt>.</t>
            </li>
            <li>
              <t><em>Dual-use JWT.</em> A sender-constrained JWT <bcp14>MAY</bcp14> serve as both client assertion
and <tt>actor_token</tt> when it satisfies both profiles; for <xref target="RFC7523"/> its <tt>sub</tt>
is the <tt>client_id</tt> and the IdP <bcp14>MUST</bcp14> authorize its issuer for that client.
Otherwise the client authenticates separately.</t>
            </li>
            <li>
              <t><em>Target registration.</em> The onward ID-JAG <tt>client_id</tt> is the current actor's
identifier at the target RAS, so the actor needs a registration or resolvable
client identity at each target.</t>
            </li>
          </ul>
          <t>The <tt>actor_token</tt> <bcp14>MUST NOT</bcp14> be bearer: for a JWT the IdP verifies <tt>cnf.jkt</tt>,
and for an opaque token it obtains equivalent confirmation from authoritative
metadata such as introspection <xref target="RFC7662"/>; its issuer, acceptance, sender
constraint, and applicability are checked by <xref target="validation"/> rule 5. The IdP
<bcp14>MUST</bcp14> compare the actor <tt>iss</tt> and <tt>sub</tt> as case-sensitive strings with no
transformation or canonicalization (<xref target="RFC7519"/>), across <tt>actor_token</tt>, <tt>act</tt>,
and the authenticated client, and identities in different tenants never
compare equal.</t>
          <t>The actor <bcp14>MUST</bcp14> present a DPoP proof <xref target="RFC9449"/> for the key in <tt>cnf.jkt</tt>.
DPoP is the single mandatory confirmation method, so the target validates
confirmation identically to a directly issued ID-JAG, and this version defines
no mutual-TLS variant <xref target="RFC8705"/> (<xref target="open-items"/>). The onward ID-JAG <bcp14>MUST</bcp14> use
the same DPoP key; key rotation takes effect when the actor obtains a new
assertion and actor token bound to the new key.</t>
          <t>Four signals bind the continuation request to the current actor. The
identities and key possession they establish must be mutually consistent:</t>
          <table>
            <thead>
              <tr>
                <th align="left">Signal</th>
                <th align="left">What it establishes</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">Client authentication</td>
                <td align="left">who is calling the IdP token endpoint</td>
              </tr>
              <tr>
                <td align="left">
                  <tt>actor_token</tt></td>
                <td align="left">the actor vouched for by its workload-identity issuer</td>
              </tr>
              <tr>
                <td align="left">Assertion <tt>act</tt></td>
                <td align="left">the actor the CAI bound to the accepted hop</td>
              </tr>
              <tr>
                <td align="left">DPoP</td>
                <td align="left">live possession of the key binding all three to this request</td>
              </tr>
            </tbody>
          </table>
        </section>
        <section anchor="validation">
          <name>Request Validation</name>
          <t>For a continuation exchange, the IdP <bcp14>MUST</bcp14> reject the request unless every rule
below holds; their order is not significant, though one rule's input may come
from another's resolution.</t>
          <ol spacing="normal" type="1"><li>
              <t><strong>Request parameters.</strong>
              </t>
              <ul spacing="normal">
                <li>
                  <t>exactly one each of <tt>grant_type</tt>, <tt>subject_token</tt>, <tt>subject_token_type</tt>,
<tt>requested_token_type</tt>, <tt>actor_token</tt>, <tt>actor_token_type</tt>, and
<tt>audience</tt>;</t>
                </li>
                <li>
                  <t>zero or more <tt>resource</tt>, and at most one each of <tt>scope</tt> and
<tt>authorization_details</tt>, all <bcp14>OPTIONAL</bcp14> and, when present, evaluated by
rule 7; and</t>
                </li>
                <li>
                  <t><tt>grant_type</tt> is <tt>urn:ietf:params:oauth:grant-type:token-exchange</tt>,
<tt>subject_token_type</tt> is
<tt>urn:ietf:params:oauth:token-type:identity-continuation</tt>, and
<tt>requested_token_type</tt> is <tt>urn:ietf:params:oauth:token-type:id-jag</tt>;</t>
                </li>
              </ul>
            </li>
            <li>
              <t><strong>Assertion well-formedness.</strong>
              </t>
              <ul spacing="normal">
                <li>
                  <t>the assertion is a JWT whose JOSE <tt>typ</tt> header is
<tt>oauth-identity-continuation+jwt</tt>;</t>
                </li>
                <li>
                  <t>it contains exactly one value for each claim required by
<xref target="assertion-claims"/> and none of the claims that section forbids;</t>
                </li>
                <li>
                  <t><tt>iss</tt>, <tt>aud</tt>, <tt>identity_continuation_handle</tt>, and <tt>jti</tt> are non-empty
strings, <tt>act</tt> and <tt>cnf</tt> are JSON objects with <tt>cnf</tt> naming exactly one
confirmation method, and <tt>iat</tt> and <tt>exp</tt> are NumericDate numbers;</t>
                </li>
                <li>
                  <t>the signature validates under an acceptable algorithm (<xref target="security-alg"/>,
<xref target="RFC8725"/>) with the issuer's resolved signing keys (<xref target="metadata"/>); and</t>
                </li>
                <li>
                  <t><tt>aud</tt> exactly matches the IdP's issuer identifier;</t>
                </li>
              </ul>
            </li>
            <li>
              <t><strong>Issuer trust.</strong> The assertion <tt>iss</tt> is trusted for the tenant, mapped to
the hop's accepting RAS, and authorized to pair with the <tt>actor_token</tt>
issuer for that tenant;</t>
            </li>
            <li>
              <t><strong>Chain state.</strong>
              </t>
              <ul spacing="normal">
                <li>
                  <t>the handle identifies a RAS-accepted hop (<xref target="hop-activation"/>) on an
active chain;</t>
                </li>
                <li>
                  <t>no ancestor subtree is revoked; and</t>
                </li>
                <li>
                  <t>the actor lineage that results from collapsing consecutive same-actor
entries, as the onward <tt>act</tt> will (<xref target="onward-id-jag"/>), is within its
depth bound, which counts lineage entries, not hops;</t>
                </li>
              </ul>
            </li>
            <li>
              <t><strong>Current actor and binding.</strong>
              </t>
              <ul spacing="normal">
                <li>
                  <t><tt>act</tt> is present, conforms to the schema of <xref target="assertion-claims"/>, and
identifies the current actor, which is the OAuth client the request is
authenticated as (<xref target="client-identity"/>);</t>
                </li>
                <li>
                  <t>the <tt>actor_token_type</tt> names a token type the IdP supports, and the
<tt>actor_token</tt> has a trusted issuer for the actor's domain and tenant, is
valid for that type, is accepted, designates the IdP where applicable,
authenticates the actor, and is sender-constrained to the key confirmed
by the assertion's <tt>cnf</tt> (<xref target="client-identity"/>);</t>
                </li>
                <li>
                  <t>the request proves possession of the <tt>cnf</tt> key with a matching DPoP
proof (<xref target="client-identity"/>, <xref target="RFC9449"/>);</t>
                </li>
                <li>
                  <t>the actor is permitted by the chain's continuation authorization
(<xref target="root-establishment"/>) to continue from the presented hop; and</t>
                </li>
                <li>
                  <t>the IdP can resolve, for the requested <tt>audience</tt>, both the
audience-local subject and the actor's client identifier
(<xref target="client-identity"/>);</t>
                </li>
              </ul>
            </li>
            <li>
              <t><strong>Freshness and replay.</strong>
              </t>
              <ul spacing="normal">
                <li>
                  <t><tt>iat</tt> is within permitted future clock skew (which <bcp14>SHOULD NOT</bcp14> exceed 60
seconds), <tt>exp</tt> follows <tt>iat</tt>, the assertion is unexpired, and its
lifetime does not exceed 300 seconds; and</t>
                </li>
                <li>
                  <t><tt>jti</tt> is not yet reserved for the assertion issuer, or is RESERVED or
ISSUED under a fingerprint matching this request (permitting idempotent
retry; see <xref target="validation-replay"/>); a RESERVED or ISSUED <tt>jti</tt> under a
different fingerprint, or a FAILED <tt>jti</tt>, is rejected;</t>
                </li>
              </ul>
            </li>
            <li>
              <t><strong>Envelope containment.</strong> The requested audience, resource, scopes, and
authorization details are within the root-chain envelope as recorded at
establishment and within current IdP actor policy; authorization-details
containment uses the comparison rules defined for each authorization-detail
type, since <xref target="RFC9396"/> defines no generic comparison, and a detail type
whose rules the IdP does not implement is rejected.</t>
            </li>
          </ol>
        </section>
        <section anchor="validation-replay">
          <name>Replay Reservation and Retry</name>
          <t>The reservation model gives a client idempotent recovery after a lost response
while preventing one assertion from authorizing more than one distinct request.</t>
          <t>After validation, grant issuance reserves the assertion's (<tt>iss</tt>, <tt>jti</tt>), bound
to a fingerprint of the request it first authorizes, and records the
reservation as RESERVED, ISSUED, or FAILED (distinct from the hop states of
<xref target="hop-activation"/>). The fingerprint <bcp14>MUST</bcp14> cover <tt>audience</tt> as an exact string,
the <tt>resource</tt> values as an order-independent set, <tt>scope</tt> as an
order-independent set, the exact <tt>authorization_details</tt> JSON after form
decoding (a different serialization is a different request), the actor's <tt>iss</tt>
and <tt>sub</tt>, the confirmed key's <tt>cnf.jkt</tt> thumbprint, and a SHA-256 hash of the
exact <tt>subject_token</tt> after form decoding, which binds the fingerprint to the
specific assertion and its handle. Concurrent redemptions <bcp14>MUST NOT</bcp14> bypass this
binding (<xref target="implementation"/>). An identical retry
<bcp14>MUST</bcp14> return the same previously issued grant, not a new one, and a request that
does not match that fingerprint <bcp14>MUST</bcp14> be rejected. Replay uniqueness <bcp14>MUST</bcp14> be
keyed on (<tt>iss</tt>, <tt>jti</tt>); partitioning by tenant alone would let two assertion
issuers in one tenant collide on a reused <tt>jti</tt>.</t>
          <t>The IdP <bcp14>MUST</bcp14> retain the reservation through <tt>exp</tt> plus the maximum permitted
clock skew, so an in-window retry is honored; a reservation that does not reach
ISSUED before <tt>exp</tt> becomes FAILED, which is terminal and requires a fresh
assertion.</t>
          <t>After a lost response, a client <bcp14>MAY</bcp14> retry the same assertion to recover the
ISSUED result or obtain a fresh assertion. A fresh assertion may create an
equivalent grant and sibling hop but no additional authority. Application
idempotency remains out of scope. Realization guidance is in <xref target="implementation"/>.</t>
        </section>
        <section anchor="success-response">
          <name>Successful Response</name>
          <t>The Token Exchange response follows the base ID-JAG profile: the ID-JAG is
returned in <tt>access_token</tt>, with <tt>token_type</tt> <tt>N_A</tt>.</t>
          <artwork><![CDATA[
HTTP/1.1 200 OK
Content-Type: application/json
Cache-Control: no-store
Pragma: no-cache

{
  "issued_token_type": "urn:ietf:params:oauth:token-type:id-jag",
  "access_token": "<continuation-capable ID-JAG, compact JWS>",
  "token_type": "N_A",
  "expires_in": 300
}
]]></artwork>
          <t>The hop reference is delivered as the ID-JAG's <tt>identity_continuation_handle</tt>
claim (<xref target="chain-id"/>, rule 1), a claim inside <tt>access_token</tt> and not a separate
Token Exchange response parameter; the accepting Resource Authorization Server
binds it (<xref target="ras-processing"/>), and the domain then surfaces it to continuers as
intra-domain context (<xref target="transaction-token-context"/>). There is likewise no
chain-expiry response parameter: chain lifetime is authoritative at the IdP
(<xref target="lifecycle"/>), and a deployment needing advance warning conveys it through
task or authorization state, an optional ID-JAG claim, or a management API.</t>
          <t>On success, the IdP records a PENDING child (<xref target="hop-activation"/>) of the
presented hop and issues an ID-JAG containing the resolved target <tt>sub</tt> and
fresh handle. An idempotent retry (rule 6; <xref target="validation-replay"/>) instead
returns the previously issued grant unchanged, creating no new hop or handle.</t>
        </section>
        <section anchor="onward-id-jag">
          <name>Onward ID-JAG Construction</name>
          <t>The onward ID-JAG conforms to the base ID-JAG profile
(<xref target="I-D.ietf-oauth-identity-assertion-authz-grant"/>) except where this document
extends it: its <tt>sub</tt> is the IdP-issued pairwise subject for the target
audience, and <tt>aud_sub</tt> remains available under the base profile where the
target's native subject namespace differs. The IdP <bcp14>MUST</bcp14> copy the root
authentication context (<tt>auth_time</tt>, <tt>acr</tt>, <tt>amr</tt>) unchanged where
<xref target="I-D.ietf-oauth-identity-assertion-authz-grant"/> requires those claims;
continuation <bcp14>MUST NOT</bcp14> extend or strengthen it, for example by raising <tt>acr</tt> or
adding <tt>amr</tt> beyond the user's root authentication. The IdP constructs <tt>act</tt>
by placing the authenticated current actor atop the presented hop's lineage;
it never copies lineage from the assertion, and siblings do not contribute.
Consecutive identical actors collapse to one entry, though the hop record
remains; policy <bcp14>MAY</bcp14> limit disclosed depth, narrowing what a target sees without
changing the depth bound the IdP enforces (<xref target="validation"/>, rule 4). Because
policy may narrow the disclosed lineage, a Resource Authorization Server
<bcp14>MUST NOT</bcp14> read the absence of a further nested <tt>act</tt> as proof that no earlier
actor exists. The following is a
non-normative example of the onward ID-JAG issued by the IdP:</t>
          <sourcecode type="json"><![CDATA[
{
  "iss": "https://idp.example/",
  "aud": "https://ras.travel.example/",
  "sub": "travel-pairwise-subject",

  "client_id": "expense-service",
  "resource": "https://api.travel.example/",
  "scope": "trips.read",

  "identity_continuation_handle": "Uc9fB3mHs5LdK7gEnX2wRj",

  "auth_time": 1710000000,
  "acr": "urn:example:loa:2",
  "amr": ["pwd", "mfa"],

  "act": {
    "iss": "https://expenses.example/",
    "sub": "expense-service",
    "act": {
      "iss": "https://expenses.example/",
      "sub": "expense-app"
    }
  },

  "cnf": {
    "jkt": "base64url-current-actor-key-thumbprint"
  },

  "iat": 1710000025,
  "exp": 1710000325,
  "jti": "idjag-travel-01"
}
]]></sourcecode>
          <t>The onward ID-JAG's <tt>client_id</tt> is the current actor's identifier at the
target RAS.</t>
        </section>
        <section anchor="error-response">
          <name>Error Response and Recovery</name>
          <t>On failure, the IdP returns an OAuth error (<xref target="RFC6749"/>, <xref target="RFC8693"/>):</t>
          <ul spacing="normal">
            <li>
              <t>it <bcp14>MUST</bcp14> return <tt>invalid_continuation</tt> (<xref target="iana"/>) only when the handle is
permanently unusable: unknown, on an expired or ended chain, on a revoked
hop or ancestor, or with continuation authorization withdrawn; and</t>
            </li>
            <li>
              <t>it <bcp14>SHOULD</bcp14> use <tt>invalid_request</tt> for a malformed, inconsistent, or
unacceptable token, <tt>invalid_dpop_proof</tt> for a DPoP failure, and
<tt>invalid_target</tt>, <tt>invalid_scope</tt>, or <tt>invalid_authorization_details</tt> for a
request outside the envelope.</t>
            </li>
          </ul>
          <t>An <tt>invalid_continuation</tt> handle is terminal: retrying it cannot succeed.
Recovery requires establishing a new chain and succeeds only where the
governing authorization is still continuation-capable: a session-anchored chain
re-roots by re-authenticating the user, a grant-anchored chain from its
still-valid grant without the user, and a handle disabled by withdrawn
continuation authorization cannot re-root at all. The other errors
leave the chain still continuable, so a client abandons only the current
request.</t>
        </section>
      </section>
      <section anchor="ras-processing">
        <name>Continuation-Aware RAS Processing</name>
        <t>Only a RAS from which continuation occurs implements this extension. A
terminal RAS processes an ordinary ID-JAG and ignores the handle; because no
later continuation uses the terminal hop, the RAS need not bind its handle.</t>
        <t>A continuation-aware Resource Authorization Server, one that implements this
extension and advertises the continuation grant profile (<xref target="metadata"/>), <bcp14>MUST</bcp14>,
on accepting a continuation-capable ID-JAG:</t>
        <ol spacing="normal" type="1"><li>
            <t>accept the ID-JAG per <xref target="I-D.ietf-oauth-identity-assertion-authz-grant"/>,
which includes validating the grant, authenticating the presenting client,
verifying the sender constraint, applying local authorization policy, and
issuing an access token sender-constrained to the confirmed key; and</t>
          </li>
          <li>
            <t>bind <tt>identity_continuation_handle</tt>, the ID-JAG's issuer and tenant, and
the confirmed key to the authorization state it establishes, recording
whether continuation is permitted.</t>
          </li>
        </ol>
        <t>The RAS <bcp14>MUST</bcp14> bind the handle and issue the access token as one outcome: no
access token without its binding, and no binding without a token. Repeated
redemption of one ID-JAG <bcp14>MUST</bcp14> bind to the same hop authorization record, so a
retry cannot create multiple records for one grant. The RAS <bcp14>MUST NOT</bcp14> place the
handle in an access token, external authorization claim, or protected-API
authorization input. It exposes the binding only privately within its trust
domain.</t>
      </section>
      <section anchor="hop-activation">
        <name>Hop Activation</name>
        <t>A hop moves through three states, spanning the IdP, RAS, and CAI. These are
conceptual states, not values carried on the wire. The IdP creates it PENDING.
Successful RAS binding makes it ACCEPTED. A mapped CAI attests a hop only once
it is ACCEPTED, so a PENDING hop yields no assertion and reaches no
continuation exchange. A fresh assertion from the mapped CAI lets the IdP
evaluate the hop as CONTINUABLE for one request; CONTINUABLE is not stored but
holds only while rules 3, 4, and 5 of <xref target="validation"/> hold for that request.</t>
        <table>
          <thead>
            <tr>
              <th align="left">State</th>
              <th align="left">Where it lives</th>
              <th align="left">Meaning</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">PENDING</td>
              <td align="left">IdP</td>
              <td align="left">the IdP issued the ID-JAG but has no acceptance evidence</td>
            </tr>
            <tr>
              <td align="left">ACCEPTED</td>
              <td align="left">RAS authorization state</td>
              <td align="left">the RAS redeemed the grant, authorized it, and bound the handle</td>
            </tr>
            <tr>
              <td align="left">CONTINUABLE</td>
              <td align="left">IdP, for one exchange</td>
              <td align="left">a mapped CAI freshly attested the still-active binding</td>
            </tr>
          </tbody>
        </table>
        <t>ACCEPTED is a state of the RAS's own authorization, not an IdP transition
delivered by callback; the IdP learns of it only through a CAI
attestation.</t>
        <t>The CAI assertion is trusted evidence of acceptance, not
IdP-verifiable proof: the IdP has no channel back to the RAS to confirm
acceptance directly (<xref target="rationale-pull"/>), so it relies on the mapped CAI having
rechecked authoritative RAS state before attesting
(<xref target="assertion-issuance"/>). Absent CAI compromise
(<xref target="security-trust-model"/>), an issued-but-rejected ID-JAG
cannot be continued because no mapped CAI may attest it. A mapped
CAI is mandatory; its absence fails closed.</t>
        <t>Acceptance gates continuation but does not bound downstream authority: the IdP
evaluates later targets against the root envelope, and local RAS authorization
neither narrows nor widens it.</t>
      </section>
      <section anchor="transaction-token-context">
        <name>Intra-Domain Handle Propagation</name>
        <t>Within a trust domain, an authorized workload learns the accepted hop's handle
from a trusted intra-domain carrier. The carrier:</t>
        <ul spacing="normal">
          <li>
            <t><bcp14>MUST</bcp14> be server-derived and <bcp14>MUST</bcp14> bind the handle, its originating IdP and
tenant, and the current credential and key to the RAS authorization;</t>
          </li>
          <li>
            <t><bcp14>MUST NOT</bcp14> be supplied or overridden by the requester;</t>
          </li>
          <li>
            <t><bcp14>MUST NOT</bcp14> be accepted outside the trust domain; and</t>
          </li>
          <li>
            <t><bcp14>MUST</bcp14> be re-derived when replaced.</t>
          </li>
        </ul>
        <t>The specific carrier is deployment-specific: a Transaction Token
<xref target="I-D.ietf-oauth-transaction-tokens"/> is one realization (<xref target="rationale-txn"/>).</t>
        <t>Before deriving, the protected endpoint or carrier <bcp14>MUST</bcp14> validate live proof of
possession of the confirmed key presented on the current call, and <bcp14>MUST</bcp14> derive
the handle from the authorization record bound to that verified credential,
key, and RAS state, never from a session or subject, which could otherwise
bind the wrong user's authorization state to this call.</t>
        <t>Authorized intra-domain workloads <bcp14>MAY</bcp14> read the handle. They <bcp14>MUST NOT</bcp14> place it
in access tokens, external authorization claims, responses, webhooks, errors,
or calls to non-participants; deployments also keep it out of logs and
traces. The handle conveys no authority.</t>
      </section>
    </section>
    <section anchor="metadata">
      <name>Authorization Server Metadata</name>
      <section anchor="idp-authorization-server-metadata">
        <name>IdP Authorization Server Metadata</name>
        <t>An IdP that supports this profile <bcp14>SHOULD</bcp14> signal it in its authorization server
metadata <xref target="RFC8414"/> with the following parameter:</t>
        <dl>
          <dt><tt>identity_continuation_supported</tt>:</dt>
          <dd>
            <t><bcp14>OPTIONAL</bcp14>. Boolean value indicating that the IdP accepts Identity Continuation
Assertions of the
<tt>urn:ietf:params:oauth:token-type:identity-continuation</tt> subject token type
and issues continuation-capable ID-JAGs carrying the
<tt>identity_continuation_handle</tt> claim. Default <tt>false</tt>. A continuation-capable
ID-JAG is still the <tt>urn:ietf:params:oauth:token-type:id-jag</tt> type, so this
flag advertises the capability rather than a new token type. It composes
additively with base ID-JAG discovery: an IdP that sets this flag also lists
<tt>urn:ietf:params:oauth:token-type:id-jag</tt> in its
<tt>identity_chaining_requested_token_types_supported</tt>
(<xref target="I-D.ietf-oauth-identity-assertion-authz-grant"/>), and the flag signals
only the added acceptance of continuation assertions and issuance of
handle-carrying ID-JAGs.</t>
          </dd>
        </dl>
      </section>
      <section anchor="resource-authorization-server-metadata">
        <name>Resource Authorization Server Metadata</name>
        <t>A Resource Authorization Server advertises separately, by listing the grant
profile <tt>urn:ietf:params:oauth:grant-profile:id-jag-continuation</tt> in its
<tt>authorization_grant_profiles_supported</tt>
          <xref target="I-D.ietf-oauth-identity-assertion-authz-grant"/>, that it recognizes a
continuation-capable ID-JAG and binds the <tt>identity_continuation_handle</tt>
claim to authorization state (<xref target="ras-processing"/>). This value is distinct
from the base ID-JAG grant profile, which signals only ordinary ID-JAG
processing and no handle binding.</t>
        <t>Because a continuation-capable ID-JAG is an ID-JAG, a Resource Authorization
Server that advertises
<tt>urn:ietf:params:oauth:grant-profile:id-jag-continuation</tt> <bcp14>MUST</bcp14> also advertise
the base <tt>urn:ietf:params:oauth:grant-profile:id-jag</tt> profile and the
<tt>urn:ietf:params:oauth:grant-type:jwt-bearer</tt> grant type on which ID-JAG
depends (<xref target="I-D.ietf-oauth-identity-assertion-authz-grant"/>).</t>
        <t>A Resource Authorization Server <bcp14>MAY</bcp14> advertise the Continuation Assertion
Issuers it authorizes to attest the hops it accepts, so the IdP can discover
the nominated issuers rather than be configured out of band
(<xref target="security-trust-model"/>):</t>
        <dl>
          <dt><tt>identity_continuation_issuers</tt>:</dt>
          <dd>
            <t><bcp14>OPTIONAL</bcp14>. A JSON array of CAI issuer identifiers, each a <tt>StringOrURI</tt>
              <xref target="RFC7519"/>, that this Resource Authorization Server authorizes to attest
hops it accepts; an empty array authorizes none. Values are compared with
the assertion <tt>iss</tt> as exact, case-sensitive strings, and duplicates are
ignored. The advertisement is a nomination only: the IdP <bcp14>MUST</bcp14> establish each
issuer's identity and signing keys independently, and the advertisement
alone <bcp14>MUST NOT</bcp14> establish key trust or override the IdP's tenant
issuer-pairing policy. Because the IdP
evaluates issuer trust and keys against its current trusted issuer and key
state, removing an issuer or revoking its keys de-authorizes it for existing
chains.
Acceptance remains the IdP's decision.</t>
          </dd>
        </dl>
        <t>When a CAI's issuer identifier is that of an OAuth authorization server, the
IdP obtains its signing keys from the <tt>jwks_uri</tt> in that server's metadata
(<xref target="RFC8414"/>); a CAI without such a <tt>jwks_uri</tt>, like any other CAI, uses
authenticated configuration. A RAS nomination <bcp14>MUST NOT</bcp14> by itself trigger that
retrieval or authorize the issuer; the IdP applies its own issuer policy
first. The IdP <bcp14>MUST</bcp14> refresh remotely obtained keys under a bounded cache
policy, so a key removed from the JWK Set stops validating once the refresh
takes effect.</t>
      </section>
    </section>
    <section anchor="implementation">
      <name>Implementation Considerations</name>
      <t>This section is non-normative. It describes ways an IdP can realize this
document's requirements; conformance depends only on the normative sections.</t>
      <t>The replay reservation (<xref target="validation-replay"/>) is typically held in strongly
consistent state: only one concurrent request reaches ISSUED, a concurrent
request under a matching fingerprint waits for or retries that result, and the
IdP retains and expires the reservation by the same clock it uses to evaluate
<tt>exp</tt>. A RAS can make the handle binding and token issuance of
<xref target="ras-processing"/> one outcome with a local transaction, or with a
compensating action that revokes a token whose binding did not commit.</t>
      <t>Because the actor-chain depth bound counts collapsed lineage entries, an actor
that repeatedly continues as itself never trips it; the fan-out, rate, and
hop-count limits of <xref target="root-establishment"/> bound such retry-driven growth
instead, and the IdP prunes expired or revoked hop state. A deployment
configures those limits and enforces them per governing authorization, so
sibling branches of one chain share one budget and a retry cannot escape them.</t>
      <t>The CAI accounts for retries separately from fan-out and keeps audit records of
its issuance and limit enforcement. The IdP performs end-to-end audit
correlation across a chain, while each RAS logs only its local subject.</t>
      <t>An IdP can derive handles from an internal delegation identifier using a
keyed one-way function, provided the derived handles still satisfy rules 1, 2,
and 5 of <xref target="chain-id"/> and remain unlinkable.</t>
      <t>An IdP can defer materializing chain state until the first continuation,
provided the handle still resolves to the same root and envelope; deferral
does not relax the reservation durability of <xref target="validation-replay"/>.</t>
    </section>
    <section anchor="security">
      <name>Security Considerations</name>
      <t>This profile assumes TLS, a correct IdP subject map and root-chain envelope,
and the OAuth guidance of <xref target="RFC9700"/>. It principally addresses these
adversaries:</t>
      <ul spacing="normal">
        <li>
          <t>an on-path attacker replaying an assertion (<xref target="security-replay"/>);</t>
        </li>
        <li>
          <t>a compromised intermediate workload broadening authority or continuing the
wrong user's chain (<xref target="security-envelope"/>);</t>
        </li>
        <li>
          <t>a compromised CAI or actor-token issuer
(<xref target="security-trust-model"/>, <xref target="security-actor-issuers"/>);</t>
        </li>
        <li>
          <t>a party influencing the client-to-actor mapping, which on a root exchange
carrying no <tt>actor_token</tt> is the sole authenticator of the root actor
(<xref target="client-identity"/>);</t>
        </li>
        <li>
          <t>a malicious Resource Server or audience attempting cross-domain correlation
(<xref target="privacy"/>); and</t>
        </li>
        <li>
          <t>a faulty intra-domain carrier (<xref target="security-envelope"/>) or a co-located one
(<xref target="security-trust-model"/>).</t>
        </li>
      </ul>
      <section anchor="security-pop">
        <name>Sender Constraint and Proof of Possession</name>
        <t>A continuation assertion names the actor the IdP will treat as the chain's
current holder. As a bearer token it would let any party that captured it, in
transit, from a log, or from a compromised intermediary, continue the chain as
that actor. The assertion <bcp14>MUST NOT</bcp14> be accepted as a bearer token <xref target="RFC7800"/>;
every exchange requires live proof of possession of the <tt>cnf</tt> key via a DPoP
proof <xref target="RFC9449"/> (<xref target="client-identity"/>). A captured assertion is therefore
useless without the private key, and because the onward ID-JAG is bound to the
same key (<xref target="client-identity"/>), possession is demonstrated continuously across
the chain, not once at issuance.</t>
      </section>
      <section anchor="task-provenance">
        <name>Durable Task Authorization</name>
        <t>Scheduled continuation <bcp14>MUST</bcp14> derive from durable RAS task authorization, not a
scheduler-held handle, which would become a durable bearer-like credential
outside the per-call key proof and RAS binding that gate every other use. The
scheduler holds only a task identifier; each authenticated run re-derives the
handle from active task state and still requires an assertion from a mapped
CAI.</t>
      </section>
      <section anchor="security-replay">
        <name>Short Lifetime and Replay</name>
        <t>The 300-second ceiling and the single-use (<tt>iss</tt>, <tt>jti</tt>) reservation
(<xref target="validation-replay"/>) confine replay to the IdP continuation exchange. The
request fingerprint bound by that reservation ties each assertion to the one
request it first authorized; without it, a resubmitted assertion could
authorize a second, different request within its window.</t>
      </section>
      <section anchor="security-assurance">
        <name>Root Authentication Context</name>
        <t>Downstream resources may gate access on authentication strength (<tt>acr</tt>) or
methods (<tt>amr</tt>); if continuation could raise those claims, an actor could reach
a step-up-gated resource the user never authenticated strongly enough for.
Authentication context therefore comes only from the root envelope, copied
unchanged into onward ID-JAGs (<xref target="onward-id-jag"/>).</t>
      </section>
      <section anchor="security-envelope">
        <name>Envelope Enforcement and Offline Attenuation</name>
        <t>The envelope bounds every target and authority. The CAI validates
any offline attenuation segment; the IdP still enforces only the envelope.
Because the assertion is target-agnostic, a permitted actor may select any
target within that ceiling.</t>
        <t>Wrong-handle association can continue the wrong user's bounded chain. The
intra-domain carrier establishes the authoritative association between the
request and the handle by deriving it from the current credential's RAS-bound
state (<xref target="transaction-token-context"/>); a handle a workload supplies is not
authoritative, and the CAI rejects substitution.</t>
        <t>Keeping CAI issuance in-domain (<xref target="assertion-issuance"/>)
prevents a handle-holding party from bypassing the RAS-acceptance path.</t>
      </section>
      <section anchor="security-actor-issuers">
        <name>Trust in Actor Token Issuers</name>
        <t>The <tt>actor_token</tt> authenticates the current actor to the IdP, so a rogue or
over-scoped actor-token issuer is an impersonation vector: a party controlling
one issuer could mint a token naming an actor in another domain or tenant and
continue that actor's chains. The IdP <bcp14>MUST</bcp14> accept actor tokens only from
issuers trusted for the actor's own domain and tenant, and <bcp14>MUST</bcp14> reject an
untrusted or out-of-scope issuer even when a valid CAI assertion accompanies
it. CAI attestation of the hop and actor-token authentication of the actor are
independent checks (<xref target="security-trust-model"/>); neither substitutes for the
other.</t>
      </section>
      <section anchor="security-trust-model">
        <name>Conjunctive Trust and Issuer Pairing</name>
        <t>A continuation requires all of these, and no one of them suffices alone:</t>
        <ul spacing="normal">
          <li>
            <t>the CAI mapped to the presented hop's accepting Resource
Authorization Server, which attests the chain-to-actor transition
(<xref target="validation"/>, rule 3);</t>
          </li>
          <li>
            <t>the workload identity issuer trusted for the current actor's trust domain,
which authenticates the actor through the <tt>actor_token</tt> (<xref target="validation"/>,
rule 5);</t>
          </li>
          <li>
            <t>live proof of possession of the confirmed key (<xref target="validation"/>, rule 5); and</t>
          </li>
          <li>
            <t>the IdP's own root-chain envelope and current-actor policy
(<xref target="validation"/>, rule 7).</t>
          </li>
        </ul>
        <t>The IdP <bcp14>MUST</bcp14> authorize CAI and actor-token issuer pairings per
tenant; separate trust in each is insufficient. Tenant determination <bcp14>MUST</bcp14>
derive from authenticated material, not requester-supplied input. The IdP
<bcp14>MUST</bcp14> scope CAI trust by issuer, keys, tenant, and mapped RAS. Because the IdP
records the accepting Resource Authorization Server for each hop, it <bcp14>MAY</bcp14> learn
the candidate mapping from that server's advertised
<tt>identity_continuation_issuers</tt> (<xref target="metadata"/>). That advertisement is a
nomination only: it scopes each server to naming issuers for its own hops but
does not itself establish issuer or key trust. The IdP independently
authenticates each CAI issuer and its signing keys (<xref target="metadata"/>), and tenant
policy authorizes the resulting server, CAI, and actor-token-issuer combination.
Absent the advertisement, the mapping is configured out of band.</t>
        <t>One operator may run the RAS, carrier, and CAI. Co-locating these
anchors trades away the defense in depth the conjunction otherwise provides, so
where independent acceptance evidence matters, deployments can separate them
or audit the binding-to-attestation path. If the IdP is also co-located, even
the envelope backstop becomes organizational rather than protocol-separated.</t>
        <t>A compromised mapped CAI can attest a hop that its
Resource Authorization Server refused, or for which it denied continuation,
overriding that server's local decision; the envelope still bounds the result,
but the accept-and-continue gate (<xref target="hop-activation"/>) is only as trustworthy as
the mapped CAI. Because the IdP has no channel to
recheck RAS state itself, a CAI attesting from a
cached read could attest a hop the RAS has since revoked; the authoritative
recheck required at issuance (<xref target="assertion-issuance"/>) narrows this window but
does not close it, since revocation after issuance still lands within the
assertion's lifetime plus any delay in RAS state reaching the CAI.</t>
      </section>
      <section anchor="security-actor-chain">
        <name>Actor Chain Integrity</name>
        <t>The <tt>act</tt> lineage records who has acted in the delegation. A compromised actor
could try to forge it, to hide its own identity, impersonate a more privileged
prior actor, or fabricate a delegation that never happened. This profile
denies that by construction: an assertion names only the current actor, and
the IdP builds the onward lineage itself by walking the hop's immutable parent
references (<xref target="onward-id-jag"/>), never by copying a chain the assertion
supplies. The IdP <bcp14>MUST</bcp14> reject any mismatch between the current actor and the
assertion's <tt>act</tt>.
Because lineage derives from IdP-held state rather than assertion input, a
party cannot rewrite history it does not control; offline-attenuation
segments, which the IdP does not observe, do not enter lineage.</t>
      </section>
      <section anchor="security-alg">
        <name>Token, Type, and Algorithm Confusion</name>
        <t>An attacker may try to pass one token type off as another, downgrade the
signature algorithm, or steer verification to a key it controls. The IdP <bcp14>MUST</bcp14>
verify <tt>typ</tt>, reject <tt>alg=none</tt> and symmetric algorithms, and allowlist
asymmetric algorithms. It <bcp14>MUST</bcp14> select keys from trusted issuer configuration;
<tt>kid</tt> <bcp14>MAY</bcp14> select among them. It <bcp14>MUST NOT</bcp14> trust assertion <tt>jku</tt>, <tt>x5u</tt>, embedded
<tt>jwk</tt>, or other supplied key material.</t>
      </section>
      <section anchor="security-metadata">
        <name>Metadata Disclosure</name>
        <t>Advertising <tt>identity_continuation_issuers</tt> (<xref target="metadata"/>) in publicly readable
authorization server metadata reveals which CAIs a Resource Authorization
Server authorizes to attest its hops, and can thereby disclose federation
topology, tenant relationships, and deployment structure, the same
disclosure concern the base ID-JAG profile raises for issuer-specific
metadata. A deployment whose CAI
relationships are sensitive <bcp14>SHOULD</bcp14> omit the advertisement and convey the
nomination out of band or through
access-controlled discovery.</t>
      </section>
    </section>
    <section anchor="privacy">
      <name>Privacy Considerations</name>
      <t>A hop's <tt>identity_continuation_handle</tt> is visible only to its ID-JAG client,
the accepting Resource Authorization Server, the IdP, and the domain's
carrier, CAI, and authorized workloads. It never enters an access token,
external authorization claims, or protected-API authorization input
(<xref target="chain-id"/>, rule 3). A workload receiving it as intra-domain context is a
control-plane participant.</t>
      <t>Handles are opaque, high-entropy, and hop-specific (<xref target="chain-id"/>), so they do
not provide a common cross-RAS identifier for a user.</t>
      <t>The chain is not unlinkable: the IdP correlates it, participants sharing a
handle can correlate that hop, and actor lineage and timing may correlate
transactions across audiences. For example, an observer comparing ID-JAGs
issued to two audiences within one short window and carrying the same
actor-chain shape may infer they belong to one user's transaction, even without
a shared handle.</t>
      <t>The onward ID-JAG's <tt>act</tt> chain also names the prior actors to the accepting
RAS outright, with no correlation needed; <xref target="onward-id-jag"/> lets policy limit
the disclosed depth, and deployments may limit the lineage exposed to each
audience.</t>
    </section>
    <section anchor="iana">
      <name>IANA Considerations</name>
      <section anchor="oauth-extensions-error-registration">
        <name>OAuth Extensions Error Registration</name>
        <t>IANA is requested to register the following error in the "OAuth Extensions
Error Registry" established by <xref target="RFC6749"/>.</t>
        <dl>
          <dt>Error Name:</dt>
          <dd>
            <t>invalid_continuation</t>
          </dd>
          <dt>Error Usage Location:</dt>
          <dd>
            <t>token endpoint response</t>
          </dd>
          <dt>Related Protocol Extension:</dt>
          <dd>
            <t>Identity Continuation Assertion for OAuth 2.0 Token Exchange</t>
          </dd>
          <dt>Change Controller:</dt>
          <dd>
            <t>IETF</t>
          </dd>
          <dt>Specification Document(s):</dt>
          <dd>
            <t>This document, <xref target="error-response"/></t>
          </dd>
        </dl>
      </section>
      <section anchor="oauth-uri-registration">
        <name>OAuth URI Registration</name>
        <t>IANA is requested to register the following value in the "OAuth URI" registry
established by <xref target="RFC6755"/> and used for token type identifiers by <xref target="RFC8693"/>.</t>
        <dl>
          <dt>URN:</dt>
          <dd>
            <t>urn:ietf:params:oauth:token-type:identity-continuation</t>
          </dd>
          <dt>Common Name:</dt>
          <dd>
            <t>Token type URI for the Identity Continuation Assertion</t>
          </dd>
          <dt>Change Controller:</dt>
          <dd>
            <t>IETF</t>
          </dd>
          <dt>Specification Document:</dt>
          <dd>
            <t>This document, <xref target="names"/></t>
          </dd>
        </dl>
        <t>IANA is also requested to register the following grant-profile value in the
same registry.</t>
        <dl>
          <dt>URN:</dt>
          <dd>
            <t>urn:ietf:params:oauth:grant-profile:id-jag-continuation</t>
          </dd>
          <dt>Common Name:</dt>
          <dd>
            <t>Grant profile identifier for a continuation-capable ID-JAG, whose accepting
Resource Authorization Server binds the <tt>identity_continuation_handle</tt> claim
to authorization state</t>
          </dd>
          <dt>Change Controller:</dt>
          <dd>
            <t>IETF</t>
          </dd>
          <dt>Specification Document:</dt>
          <dd>
            <t>This document, <xref target="metadata"/>, <xref target="ras-processing"/></t>
          </dd>
        </dl>
      </section>
      <section anchor="media-type-registration">
        <name>Media Type Registration</name>
        <t>IANA is requested to register the following media type in the "Media Types"
registry, in the manner described in <xref target="RFC6838"/>, corresponding to the JOSE
<tt>typ</tt> header value <tt>oauth-identity-continuation+jwt</tt>.</t>
        <dl>
          <dt>Type name:</dt>
          <dd>
            <t>application</t>
          </dd>
          <dt>Subtype name:</dt>
          <dd>
            <t>oauth-identity-continuation+jwt</t>
          </dd>
          <dt>Required parameters:</dt>
          <dd>
            <t>N/A</t>
          </dd>
          <dt>Optional parameters:</dt>
          <dd>
            <t>N/A</t>
          </dd>
          <dt>Encoding considerations:</dt>
          <dd>
            <t>binary; the <tt>+jwt</tt> structured syntax suffix <xref target="RFC8417"/> registers this
encoding. An Identity Continuation Assertion is a JWT <xref target="RFC7519"/>, a series of
base64url-encoded values (some of which may be empty) separated by period
('.') characters.</t>
          </dd>
          <dt>Security considerations:</dt>
          <dd>
            <t>See <xref target="security"/> of this document.</t>
          </dd>
          <dt>Interoperability considerations:</dt>
          <dd>
            <t>N/A</t>
          </dd>
          <dt>Published specification:</dt>
          <dd>
            <t>This document, <xref target="names"/></t>
          </dd>
          <dt>Applications that use this media type:</dt>
          <dd>
            <t>Applications using OAuth 2.0 Token Exchange <xref target="RFC8693"/> to perform identity
continuation across SaaS boundaries.</t>
          </dd>
          <dt>Fragment identifier considerations:</dt>
          <dd>
            <t>N/A</t>
          </dd>
          <dt>Additional information:</dt>
          <dd>
            <t><br/>
Deprecated alias names for this type: N/A<br/>
Magic number(s): N/A<br/>
File extension(s): N/A<br/>
Macintosh file type code(s): N/A</t>
          </dd>
          <dt>Person &amp; email address to contact for further information:</dt>
          <dd>
            <t>Karl McGuinness (public@karlmcguinness.com)</t>
          </dd>
          <dt>Intended usage:</dt>
          <dd>
            <t>COMMON</t>
          </dd>
          <dt>Restrictions on usage:</dt>
          <dd>
            <t>N/A</t>
          </dd>
          <dt>Author:</dt>
          <dd>
            <t>Karl McGuinness</t>
          </dd>
          <dt>Change controller:</dt>
          <dd>
            <t>IETF</t>
          </dd>
        </dl>
      </section>
      <section anchor="json-web-token-claims-registration">
        <name>JSON Web Token Claims Registration</name>
        <t>IANA is requested to register the following claim in the "JSON Web Token Claims"
registry established by <xref target="RFC7519"/>.</t>
        <dl>
          <dt>Claim Name:</dt>
          <dd>
            <t>identity_continuation_handle</t>
          </dd>
          <dt>Claim Description:</dt>
          <dd>
            <t>An opaque, IdP-generated reference to one hop of a
continuation chain, used to correlate a continuation to its chain
and parent hop and to resolve the per-audience subject. This claim
appears in an Identity Continuation Assertion and in a continuation-capable
ID-JAG, and its value may also travel in intra-domain chain context; it is
not placed in an access token or a Resource Server's external
authorization claims (<xref target="chain-id"/>, rule 3).</t>
          </dd>
          <dt>Change Controller:</dt>
          <dd>
            <t>IETF</t>
          </dd>
          <dt>Specification Document(s):</dt>
          <dd>
            <t>This document, <xref target="chain-id"/></t>
          </dd>
        </dl>
      </section>
      <section anchor="oauth-authorization-server-metadata-registration">
        <name>OAuth Authorization Server Metadata Registration</name>
        <t>IANA is requested to register the following values in the "OAuth Authorization
Server Metadata" registry established by <xref target="RFC8414"/>.</t>
        <dl>
          <dt>Metadata Name:</dt>
          <dd>
            <t>identity_continuation_supported</t>
          </dd>
          <dt>Metadata Description:</dt>
          <dd>
            <t>Boolean value indicating support for the Identity Continuation Assertion
profile</t>
          </dd>
          <dt>Change Controller:</dt>
          <dd>
            <t>IETF</t>
          </dd>
          <dt>Specification Document(s):</dt>
          <dd>
            <t>This document, <xref target="metadata"/></t>
          </dd>
          <dt>Metadata Name:</dt>
          <dd>
            <t>identity_continuation_issuers</t>
          </dd>
          <dt>Metadata Description:</dt>
          <dd>
            <t>Array of issuer identifiers for Continuation Assertion Issuers (CAIs) a
Resource Authorization Server authorizes to attest hops it accepts (a
nomination; the IdP establishes issuer key trust independently)</t>
          </dd>
          <dt>Change Controller:</dt>
          <dd>
            <t>IETF</t>
          </dd>
          <dt>Specification Document(s):</dt>
          <dd>
            <t>This document, <xref target="metadata"/></t>
          </dd>
        </dl>
        <t>Note: The token type URI <tt>urn:ietf:params:oauth:token-type:id-jag</tt> referenced by
this document is registered by
<xref target="I-D.ietf-oauth-identity-assertion-authz-grant"/> and is not registered here.</t>
        <t>Note: The <tt>authorization_grant_profiles_supported</tt> metadata parameter and the
base <tt>urn:ietf:params:oauth:grant-profile:id-jag</tt> value referenced by this
document are defined and registered by
<xref target="I-D.ietf-oauth-identity-assertion-authz-grant"/> and are not registered here;
this document registers only the
<tt>urn:ietf:params:oauth:grant-profile:id-jag-continuation</tt> value.</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="RFC7523">
          <front>
            <title>JSON Web Token (JWT) Profile for OAuth 2.0 Client Authentication and Authorization Grants</title>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <author fullname="B. Campbell" initials="B." surname="Campbell"/>
            <author fullname="C. Mortimore" initials="C." surname="Mortimore"/>
            <date month="May" year="2015"/>
            <abstract>
              <t>This specification defines the use of a JSON Web Token (JWT) Bearer Token as a means for requesting an OAuth 2.0 access token as well as for client authentication.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7523"/>
          <seriesInfo name="DOI" value="10.17487/RFC7523"/>
        </reference>
        <reference anchor="RFC7638">
          <front>
            <title>JSON Web Key (JWK) Thumbprint</title>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <author fullname="N. Sakimura" initials="N." surname="Sakimura"/>
            <date month="September" year="2015"/>
            <abstract>
              <t>This specification defines a method for computing a hash value over a JSON Web Key (JWK). It defines which fields in a JWK are used in the hash computation, the method of creating a canonical form for those fields, and how to convert the resulting Unicode string into a byte sequence to be hashed. The resulting hash value can be used for identifying or selecting the key represented by the JWK that is the subject of the thumbprint.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7638"/>
          <seriesInfo name="DOI" value="10.17487/RFC7638"/>
        </reference>
        <reference anchor="RFC7662">
          <front>
            <title>OAuth 2.0 Token Introspection</title>
            <author fullname="J. Richer" initials="J." role="editor" surname="Richer"/>
            <date month="October" year="2015"/>
            <abstract>
              <t>This specification defines a method for a protected resource to query an OAuth 2.0 authorization server to determine the active state of an OAuth 2.0 token and to determine meta-information about this token. OAuth 2.0 deployments can use this method to convey information about the authorization context of the token from the authorization server to the protected resource.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7662"/>
          <seriesInfo name="DOI" value="10.17487/RFC7662"/>
        </reference>
        <reference anchor="RFC7800">
          <front>
            <title>Proof-of-Possession Key Semantics for JSON Web Tokens (JWTs)</title>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <author fullname="J. Bradley" initials="J." surname="Bradley"/>
            <author fullname="H. Tschofenig" initials="H." surname="Tschofenig"/>
            <date month="April" year="2016"/>
            <abstract>
              <t>This specification describes how to declare in a JSON Web Token (JWT) that the presenter of the JWT possesses a particular proof-of- possession key and how the recipient can cryptographically confirm proof of possession of the key by the presenter. Being able to prove possession of a key is also sometimes described as the presenter being a holder-of-key.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7800"/>
          <seriesInfo name="DOI" value="10.17487/RFC7800"/>
        </reference>
        <reference anchor="RFC8414">
          <front>
            <title>OAuth 2.0 Authorization Server Metadata</title>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <author fullname="N. Sakimura" initials="N." surname="Sakimura"/>
            <author fullname="J. Bradley" initials="J." surname="Bradley"/>
            <date month="June" year="2018"/>
            <abstract>
              <t>This specification defines a metadata format that an OAuth 2.0 client can use to obtain the information needed to interact with an OAuth 2.0 authorization server, including its endpoint locations and authorization server capabilities.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8414"/>
          <seriesInfo name="DOI" value="10.17487/RFC8414"/>
        </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="RFC8725">
          <front>
            <title>JSON Web Token Best Current Practices</title>
            <author fullname="Y. Sheffer" initials="Y." surname="Sheffer"/>
            <author fullname="D. Hardt" initials="D." surname="Hardt"/>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <date month="February" year="2020"/>
            <abstract>
              <t>JSON Web Tokens, also known as JWTs, are URL-safe JSON-based security tokens that contain a set of claims that can be signed and/or encrypted. JWTs are being widely used and deployed as a simple security token format in numerous protocols and applications, both in the area of digital identity and in other application areas. This Best Current Practices document updates RFC 7519 to provide actionable guidance leading to secure implementation and deployment of JWTs.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="225"/>
          <seriesInfo name="RFC" value="8725"/>
          <seriesInfo name="DOI" value="10.17487/RFC8725"/>
        </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="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-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="OIDC.FrontChannelLogout" target="https://openid.net/specs/openid-connect-frontchannel-1_0.html">
          <front>
            <title>OpenID Connect Front-Channel Logout 1.0</title>
            <author>
              <organization>OpenID Foundation</organization>
            </author>
            <date/>
          </front>
        </reference>
        <reference anchor="SAML2.Core" target="https://docs.oasis-open.org/security/saml/v2.0/saml-core-2.0-os.pdf">
          <front>
            <title>Assertions and Protocols for the OASIS Security Assertion Markup Language (SAML) V2.0</title>
            <author>
              <organization>OASIS</organization>
            </author>
            <date year="2005" month="March"/>
          </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="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="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="RFC6838">
          <front>
            <title>Media Type Specifications and Registration Procedures</title>
            <author fullname="N. Freed" initials="N." surname="Freed"/>
            <author fullname="J. Klensin" initials="J." surname="Klensin"/>
            <author fullname="T. Hansen" initials="T." surname="Hansen"/>
            <date month="January" year="2013"/>
            <abstract>
              <t>This document defines procedures for the specification and registration of media types for use in HTTP, MIME, and other Internet protocols. This memo documents an Internet Best Current Practice.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="13"/>
          <seriesInfo name="RFC" value="6838"/>
          <seriesInfo name="DOI" value="10.17487/RFC6838"/>
        </reference>
        <reference anchor="RFC8417">
          <front>
            <title>Security Event Token (SET)</title>
            <author fullname="P. Hunt" initials="P." role="editor" surname="Hunt"/>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <author fullname="W. Denniss" initials="W." surname="Denniss"/>
            <author fullname="M. Ansari" initials="M." surname="Ansari"/>
            <date month="July" year="2018"/>
            <abstract>
              <t>This specification defines the Security Event Token (SET) data structure. A SET describes statements of fact from the perspective of an issuer about a subject. These statements of fact represent an event that occurred directly to or about a security subject, for example, a statement about the issuance or revocation of a token on behalf of a subject. This specification is intended to enable representing security- and identity-related events. A SET is a JSON Web Token (JWT), which can be optionally signed and/or encrypted. SETs can be distributed via protocols such as HTTP.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8417"/>
          <seriesInfo name="DOI" value="10.17487/RFC8417"/>
        </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="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="I-D.fletcher-transaction-token-chaining-profile">
          <front>
            <title>Transaction Token Authorization Grant Profile for OAuth Identity and Authorization Chaining</title>
            <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>
            <author fullname="Sean O'Dell" initials="S." surname="O'Dell">
              <organization>CVS Health</organization>
            </author>
            <date day="6" month="July" year="2026"/>
            <abstract>
              <t>   This specification defines a profile of the OAuth Identity and
   Authorization Chaining Across Domains
   [I-D.ietf-oauth-identity-chaining] mechanism that uses a Transaction
   Token (Txn-Token) [I-D.ietf-oauth-transaction-tokens] as the subject
   token in a Token Exchange [RFC8693] request to obtain a JWT
   Authorization Grant for crossing a trust boundary.

   A Txn-Token is scoped to a single trust domain and represents the
   full authorization context of an in-progress transaction, regardless
   of whether that transaction was initiated by a human user calling an
   external API, by an internal system event, or by an automated
   workload.  This profile specifies how a service operating within that
   trust domain can present its Txn-Token to obtain a JWT Authorization
   Grant that carries the necessary context across a trust boundary,
   enabling an access token to be issued for a partner service, without
   exposing internal trust-domain credentials or token formats beyond
   the trust boundary.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-fletcher-transaction-token-chaining-profile-02"/>
        </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-wimse-arch">
          <front>
            <title>Workload Identity in a Multi System Environment (WIMSE) Architecture</title>
            <author fullname="Joseph A. Salowey" initials="J. A." surname="Salowey">
              <organization>Palo Alto Networks</organization>
            </author>
            <author fullname="Yaroslav Rosomakho" initials="Y." surname="Rosomakho">
              <organization>Zscaler</organization>
            </author>
            <author fullname="Hannes Tschofenig" initials="H." surname="Tschofenig">
              <organization>University of the Bundeswehr Munich</organization>
            </author>
            <date day="6" month="July" year="2026"/>
            <abstract>
              <t>   The increasing prevalence of cloud computing and micro service
   architectures has led to the rise of complex software functions being
   built and deployed as workloads, where a workload is defined as
   software executing for a specific purpose, potentially comprising one
   or more running instances.  This document discusses an architecture
   for designing and standardizing protocols and payloads for conveying
   workload identity and security context information.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-wimse-arch-08"/>
        </reference>
        <reference anchor="I-D.li-oauth-delegated-authorization">
          <front>
            <title>OAuth 2.0 Delegated Authorization</title>
            <author fullname="Li Ruochen" initials="L." surname="Ruochen">
              <organization>Huawei Int. Pte Ltd</organization>
            </author>
            <author fullname="Haiguang Wang" initials="W." surname="Wang">
              <organization>Huawei Int. Pte Ltd</organization>
            </author>
            <author fullname="Peter Chunchi Liu" initials="P. C." surname="Liu">
              <organization>Huawei Technologies</organization>
            </author>
            <author fullname="Tieyan Li" initials="T." surname="Li">
              <organization>Huawei Int. Pte Ltd</organization>
            </author>
            <date day="24" month="July" year="2026"/>
            <abstract>
              <t>   This specification defines Delegated Authorization Tokens, key-bound
   tokens that enable an OAuth client to delegate a constrained subset
   of its authorization to another client without contacting the
   authorization server for each delegation.  An authorization server
   issues the root token and binds it to a client key.  That client can
   use the bound key either to prove possession when accessing a
   protected resource or to sign a further token bound to a delegate
   client's key.  Resource servers validate the ordered token chain, the
   restrictions imposed at every delegation step, and a DPoP proof
   signed by the key bound to the leaf token.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-li-oauth-delegated-authorization-03"/>
        </reference>
        <reference anchor="I-D.mcguinness-oauth-actor-receipts">
          <front>
            <title>OAuth Actor Receipts for Delegation Provenance</title>
            <author fullname="Karl McGuinness" initials="K." surname="McGuinness">
              <organization>Independent</organization>
            </author>
            <date day="4" month="July" year="2026"/>
            <abstract>
              <t>   This document defines OAuth Actor Receipts, an optional companion
   provenance profile for delegated OAuth tokens that conform to the
   OAuth Actor Profile for Delegation.  It introduces the actor_receipts
   claim, a signed per-hop receipt chain that records which issuer added
   each visible actor hop, optionally preserves the historical top-level
   cnf value associated with that hop subject to deployment disclosure
   policy, and links receipts together so recipients can validate prior-
   hop provenance without relying solely on the current outer token
   issuer.  This document also defines metadata and introspection
   parameters for advertising and consuming actor-receipt support.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-mcguinness-oauth-actor-receipts-00"/>
        </reference>
        <reference anchor="I-D.mcguinness-oauth-actor-proofs">
          <front>
            <title>OAuth Actor-Signed Hop Proofs</title>
            <author fullname="Karl McGuinness" initials="K." surname="McGuinness">
              <organization>Independent</organization>
            </author>
            <date day="4" month="July" year="2026"/>
            <abstract>
              <t>   This document defines OAuth Actor-Signed Hop Proofs, an optional
   companion profile for delegated OAuth tokens that conform to the
   OAuth Actor Profile for Delegation.  It introduces the actor_proofs
   claim, a signed per-hop proof chain in which the actor added at each
   visible hop signs its own participation and the target binding it
   authorized for that hop.  Proofs are linked into a hash chain, are
   validated against actor verification keys resolved through pre-
   established trust, and optionally cross-reference sibling actor
   receipts.  This document also defines a token request parameter for
   conveying proofs at issuance, and metadata and introspection
   parameters for advertising and consuming actor-proof support.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-mcguinness-oauth-actor-proofs-00"/>
        </reference>
        <reference anchor="GRANT-MGMT" target="https://openid.net/specs/oauth-v2-grant-management.html">
          <front>
            <title>Grant Management for OAuth 2.0</title>
            <author>
              <organization>OpenID Foundation</organization>
            </author>
            <date/>
          </front>
        </reference>
      </references>
    </references>
    <?line 1491?>

<section anchor="rationale">
      <name>Design Rationale</name>
      <t>This non-normative appendix records the principal design choices.</t>
      <section anchor="rationale-idjag">
        <name>Relationship to ID-JAG</name>
        <t>The assertion is the Token Exchange input: its audience is the IdP and it has
no top-level <tt>sub</tt>. The resulting ID-JAG is the target Resource Authorization
Server's grant and contains the IdP-resolved subject and, when applicable, a
continuation handle. The artifacts therefore have different issuers,
audiences, subjects, and consumers.</t>
      </section>
      <section anchor="rationale-txn">
        <name>Why Not a Transaction Token</name>
        <t>A Transaction Token <xref target="I-D.ietf-oauth-transaction-tokens"/> carries request
context within one trust domain. The assertion crosses from that domain to
the IdP, is single-use, and carries neither the target subject nor general
request context. It may be derived from Transaction Token context, but is not
a Transaction Token profile.</t>
      </section>
      <section anchor="rationale-propagation">
        <name>Why Not a Cross-Domain Propagation Token</name>
        <t>The choice follows <xref target="decision-rule"/>: a pairwise-subject boundary can be
crossed only by the IdP, which the target trusts to name the user, and IdP
exchange permits current-state and envelope checks at every hop. Direct
propagation instead fits deployments with a global subject,
shared issuer trust, and no need for mid-chain IdP revocation, such as a
single SPIFFE-style trust domain (one workload-identity namespace with no
pairwise-subject boundary to cross). Delegated Authorization
<xref target="I-D.li-oauth-delegated-authorization"/>, whose client-issued tokens carry no
subject, composes with this profile as the intra-domain layer and stops where
re-issuance to a new subject begins.</t>
      </section>
      <section anchor="rationale-pull">
        <name>Alternative Topology: Resolution at the Target</name>
        <t>A pull design would have each target resolve a reference at the IdP over a
back channel <xref target="RFC7662"/>. It requires a new target-side grant and per-request
back channel. The selected push design reuses the ID-JAG grant path, adding
only handle binding at continuation-source RASes; the CAI supplies
acceptance evidence. Pull remains a possible companion profile.</t>
      </section>
      <section anchor="rationale-grant-type">
        <name>Why a Signed Assertion Rather Than a Bare Grant Type</name>
        <t>The signed assertion lets the CAI attest the authenticated actor,
key, accepted hop, and any intra-domain policy checks that the IdP cannot
observe. It also keeps the IdP's trust coarse: the IdP trusts a CAI mapped to
the accepting Resource Authorization Server (the audience the ID-JAG names),
scoped per tenant. That CAI abstracts the actors, keys, and continuation
policy within its trust domain, so the IdP authorizes mapped CAIs rather than
the individual actors behind them. The assertion does not authorize
target or scope. Where that domain-local attestation is unnecessary, a
recipient-bound direct grant remains a possible simplification, but it forces
the IdP to authenticate every actor and hold per-actor policy directly, which
does not scale across domains.</t>
      </section>
      <section anchor="rationale-alg">
        <name>Why Asymmetric Signing Only</name>
        <t>This profile requires asymmetric signing and forbids encryption and nested
signing (<xref target="names"/>), tighter than RFC 8725 <xref target="RFC8725"/>, which also permits
verified symmetric algorithms. The restriction is deliberate: asymmetric
verification avoids distributing a shared secret across domains and the
key-confusion risk a symmetric key between the CAI and IdP would create
(<xref target="security-alg"/>); TLS on every hop and the assertion's minimal contents make
encryption unnecessary; and a single compact signed form removes an
interoperability choice between issuers and verifiers.</t>
      </section>
    </section>
    <section anchor="examples">
      <name>Examples</name>
      <t>This non-normative appendix illustrates three deployment shapes: interactive
application chaining (<xref target="example"/>), an unattended background agent
(<xref target="example-background"/>), and a gateway with dynamically selected upstream
audiences (<xref target="example-gateway"/>).</t>
      <t>Message sequences are vertical lifelines with time flowing downward. The
payload and state blocks below them are tagged "On the wire" when they cross a
trust boundary,
"Intra-domain context" when they travel only within one trust domain, and
"Server-side state" when they are never transmitted. Continuation handles
are written H0, H1, and so on, one per hop. The examples use Transaction
Tokens as the intra-domain carrier for illustration only; the profile does not
require them (<xref target="transaction-token-context"/>).</t>
      <section anchor="example">
        <name>Three-Hop Interactive Example</name>
        <t>This section walks the canonical same-IdP flow end-to-end for a single
user: ExpenseApp invokes ExpenseSaaS; ExpenseService, the workload handling
that request, calls TravelAPI to reach TravelSaaS; and TravelService, the
TravelSaaS workload that handles that call, in turn calls BookingAPI to
complete the itinerary. All parties trust one enterprise IdP at
<tt>https://idp.example/</tt>.</t>
        <t>The authorization path, the sequence of accepting RASes, differs from that
API-call path:</t>
        <artwork><![CDATA[
ExpenseApp -> ExpenseRAS -> TravelRAS -> BookingRAS
]]></artwork>
        <t>Proof of possession uses DPoP. JWTs are shown as decoded payloads; JOSE
headers, signatures, and client authentication are omitted. The handle
crosses a trust boundary only inside an ID-JAG or Identity Continuation
Assertion and travels within a domain only as derived chain context.</t>
        <t>Participants are grouped by trust domain; all trust the IdP at
<tt>https://idp.example/</tt>. Each domain from which continuation occurs has two
roles: a Resource Authorization Server that binds the accepted hop and a CAI
that attests continuation, plus a trusted intra-domain carrier, realized here
as a Transaction Token Service (TTS), that derives its chain context. A
deployment may co-locate these.</t>
        <ul spacing="normal">
          <li>
            <t>Expense domain (<tt>expenses.example</tt>): client <tt>expense-app</tt>, workload
<tt>expense-service</tt>, and ExpenseRAS / Expense TTS / Expense CAI, in front of
ExpenseAPI.</t>
          </li>
          <li>
            <t>Travel domain (<tt>travel.example</tt>): workload <tt>travel-service</tt>, and
TravelRAS / Travel TTS / Travel CAI, in front of TravelAPI.</t>
          </li>
          <li>
            <t>Booking domain (<tt>booking.example</tt>): BookingRAS and BookingAPI only. It is
terminal in this chain, an ordinary ID-JAG Resource Authorization Server
that needs no continuation support (<xref target="ras-processing"/>).</t>
          </li>
          <li>
            <t>Outside the trust circle: PartnerSaaS (<tt>partner.example</tt>), reached in
<xref target="example-federation-edge"/>.</t>
          </li>
        </ul>
        <t>The user has a pairwise subject at each RAS, which only the IdP can map.
Handles are H0 at ExpenseRAS, H1 at TravelRAS, and H2 in the ID-JAG addressed
to terminal BookingRAS, which never binds it.</t>
        <t>The root hop establishes the chain and the Expense domain's accepted
authorization:</t>
        <artwork><![CDATA[
 ExpenseApp        IdP          ExpenseRAS       ExpenseAPI/TTS
     |               |               |                 |
     |--ID Token---->|               |                 |
     |<-ID-JAG(H0)---|               |                 |
     |------------------ID-JAG------>|                 |
     |<-------------------AT1--------| bind H0         |
     |------------------request + AT1 + DPoP---------->|
     |               |               |<-resolve AT1----|
     |               |               |--bound H0------>|
     |               |               |    derive H0 into tctx
]]></artwork>
        <t>Each continuation repeats one exchange. ExpenseService obtains the Travel
grant before crossing the boundary:</t>
        <artwork><![CDATA[
 ExpenseService  Expense CAI        IdP        TravelRAS TravelAPI/TTS
       |              |             |             |             |
       |-request H0-->|             |             |             |
       |<-assertion---|             |             |             |
       |--------------------------->|             |             |
       |     assertion + DPoP       |             |             |
       |<---------------------------| ID-JAG(H1)  |             |
       |----------------------------------------->|             |
       |                 ID-JAG                   |             |
       |<-----------------------------------------| AT2; bind H1|
       |-----------------request + AT2 + DPoP------------------>|
       |              |             |             |<-resolve AT2|
       |              |             |             |--bound H1-->|
       |              |             |             | derive into TT
]]></artwork>
        <t><xref target="example-third-hop"/> repeats the pattern from TravelSaaS to terminal
BookingRAS.</t>
        <section anchor="example-first-hop">
          <name>Root ID-JAG for ExpenseRAS</name>
          <t>ExpenseApp holds an ID Token for the authenticated user and exchanges it at the
IdP for an ID-JAG scoped to ExpenseRAS. The request is DPoP-bound to
ExpenseApp's key.</t>
          <t>On the wire (request):</t>
          <artwork><![CDATA[
POST /token HTTP/1.1
Host: idp.example
Content-Type: application/x-www-form-urlencoded
DPoP: <proof signed by the expense-app key>

grant_type=urn:ietf:params:oauth:grant-type:token-exchange
&requested_token_type=urn:ietf:params:oauth:token-type:id-jag
&audience=https://ras.expenses.example/
&resource=https://api.expenses.example/
&scope=expenses.read
&subject_token=<id_token>
&subject_token_type=urn:ietf:params:oauth:token-type:id_token
&actor_token=<sender-constrained expense-app credential>
&actor_token_type=urn:ietf:params:oauth:token-type:jwt
]]></artwork>
          <t>The IdP resolves the ID Token's <tt>sid</tt> to the anchoring session and verifies
ExpenseApp's actor credential and DPoP key. Existing consent and enterprise
policy permit continuation to Expense, Travel, and Booking by the designated
workloads, so the IdP records this root-chain envelope:</t>
          <t>Server-side state:</t>
          <artwork><![CDATA[
(https://ras.expenses.example/, https://api.expenses.example/)
    permitted scopes: expenses.read

(https://ras.travel.example/, https://api.travel.example/)
    permitted scopes: trips.read

(https://ras.booking.example/, https://api.booking.example/)
    permitted scopes: stays.book
]]></artwork>
          <t>The envelope also records the governing authorization, permitted continuers,
and expiry. A deployment with unknown onward targets records an
authorization-basis ceiling instead and evaluates each target at continuation
time (<xref target="validation"/>, rule 7).</t>
          <t>The IdP creates a fresh root hop, H0, for this chain and embeds it as a
claim of the ID-JAG it is about to issue (<xref target="chain-id"/>, rule 1); the hop is
PENDING until a Resource Authorization Server accepts it (<xref target="hop-activation"/>).
The Token Exchange response carries the ID-JAG and no continuation-specific
response member; H0 travels inside the ID-JAG.</t>
          <t>The decoded ID-JAG for ExpenseRAS carries the user's ExpenseRAS-local
subject and the root hop's handle.</t>
          <t>On the wire (decoded ID-JAG):</t>
          <sourcecode type="json"><![CDATA[
{
  "iss": "https://idp.example/",
  "aud": "https://ras.expenses.example/",
  "sub": "expense-pairwise-subject",

  "client_id": "expense-app",
  "resource": "https://api.expenses.example/",
  "scope": "expenses.read",

  "auth_time": 1710000000,
  "acr": "urn:example:loa:2",
  "amr": ["pwd", "mfa"],

  "identity_continuation_handle": "kW4uJ8pTe2NxA6rQvD1zYs",

  "cnf": {
    "jkt": "base64url-expense-app-key-thumbprint"
  },

  "iat": 1710000005,
  "exp": 1710000305,
  "jti": "idjag-expense-01"
}
]]></sourcecode>
        </section>
        <section anchor="example-context">
          <name>ExpenseRAS Acceptance and the Expense-Domain Chain Context</name>
          <t>ExpenseApp exchanges this ID-JAG at ExpenseRAS for an access token (AT1),
exactly as for any ID-JAG <xref target="I-D.ietf-oauth-identity-assertion-authz-grant"/>
(not shown), except that ExpenseRAS also recognizes the continuation grant
profile and processes <tt>identity_continuation_handle</tt> (<xref target="ras-processing"/>).
ExpenseRAS validates the ID-JAG, authenticates ExpenseApp, verifies the
DPoP proof, and applies its local policy; only if every check and the
access-token issuance itself succeed does it atomically bind H0 to the
authorization state behind AT1, moving the hop from PENDING to ACCEPTED. A
hop that never reaches ACCEPTED, for example one copied from an ID-JAG
that ExpenseRAS rejected, is not usable: no CAI attests a hop
that its Resource Authorization Server never accepted.</t>
          <t>ExpenseRAS keeps this association in a private internal record. It is never
serialized into AT1, an external authorization claim, or anything that
ExpenseAPI's callers observe.</t>
          <t>Server-side state:</t>
          <sourcecode type="json"><![CDATA[
{
  "identity_continuation_handle": "kW4uJ8pTe2NxA6rQvD1zYs",
  "status": "ACCEPTED",
  "authorization_state": "at1-authz-2f9c",
  "client_id": "expense-app",
  "bound_at": 1710000010
}
]]></sourcecode>
          <t>ExpenseApp calls ExpenseAPI with AT1. The Expense TTS, ExpenseSaaS's own
Transaction Token Service, resolves AT1 against the record that ExpenseRAS
just created over their shared, own-domain interface (<xref target="ras-processing"/>),
derives H0 from it, and issues a local Transaction Token for
ExpenseService, the workload that will complete the request.</t>
          <t>Intra-domain context (decoded Transaction Token):</t>
          <sourcecode type="json"><![CDATA[
{
  "iss": "https://tts.expenses.example/",
  "aud": "https://expenses.example/",
  "sub": "expense-pairwise-subject",
  "txn": "txn-expense-88f2",
  "scope": "expense-report:complete",
  "req_wl": "expense-api",

  "tctx": {
    "identity_continuation": {
      "iss": "https://idp.example/",
      "tenant": "tenant-123",
      "handle": "kW4uJ8pTe2NxA6rQvD1zYs"
    }
  },

  "iat": 1710000012,
  "exp": 1710000072,
  "jti": "tt-expense-0007"
}
]]></sourcecode>
          <t>The Expense TTS derives this context from AT1's authorization record; neither
ExpenseApp nor ExpenseService supplies H0. The Transaction Token remains
inside <tt>expenses.example</tt> and is normally forwarded unchanged within that
domain. A replacement token requires the TTS to re-derive the member
(<xref target="transaction-token-context"/>). The <tt>tctx.identity_continuation</tt> encoding
shown is illustrative and deployment-defined; this document standardizes no
carrier schema.</t>
        </section>
        <section anchor="example-ica">
          <name>Obtaining the Identity Continuation Assertion</name>
          <t>ExpenseService asks its own CAI for an assertion covering H0.
Before issuing, Expense CAI authenticates ExpenseService, verifies its key,
confirms that H0 belongs to the transaction that ExpenseService is serving,
and rechecks that ExpenseRAS's authorization remains active. The IdP's per-hop
map designates Expense CAI to attest hops accepted by ExpenseRAS
(<xref target="assertion-issuance"/>, <xref target="root-establishment"/>).</t>
          <t>On the wire (decoded assertion):</t>
          <sourcecode type="json"><![CDATA[
{
  "iss": "https://cai.expenses.example/",
  "aud": "https://idp.example/",
  "identity_continuation_handle": "kW4uJ8pTe2NxA6rQvD1zYs",

  "act": {
    "iss": "https://expenses.example/",
    "sub": "expense-service"
  },

  "cnf": {
    "jkt": "base64url-expense-service-key-thumbprint"
  },

  "iat": 1710000020,
  "exp": 1710000200,
  "jti": "b8Rn5Yx1Qe4Nk2Wf6zVc9d"
}
]]></sourcecode>
        </section>
        <section anchor="example-chained">
          <name>Continuation Exchange for the TravelRAS ID-JAG</name>
          <t>ExpenseService presents the assertion to the IdP as the <tt>subject_token</tt>,
DPoP-bound to its own key.</t>
          <t>On the wire (request):</t>
          <artwork><![CDATA[
POST /token HTTP/1.1
Host: idp.example
Content-Type: application/x-www-form-urlencoded
DPoP: <proof signed by the expense-service key>

grant_type=urn:ietf:params:oauth:grant-type:token-exchange
&requested_token_type=urn:ietf:params:oauth:token-type:id-jag
&audience=https://ras.travel.example/
&resource=https://api.travel.example/
&scope=trips.read
&subject_token=<identity-continuation-assertion>
&subject_token_type=urn:ietf:params:oauth:token-type:identity-continuation
&actor_token=<sender-constrained expense-service credential>
&actor_token_type=urn:ietf:params:oauth:token-type:jwt
]]></artwork>
          <t>The IdP runs the checks of <xref target="validation"/>: the DPoP key matches both the
assertion's <tt>cnf.jkt</tt> and the actor token's key confirmation; <tt>expense-service</tt>
is the
actor named in <tt>act</tt>; H0 is CONTINUABLE; and the requested TravelRAS,
TravelAPI, and <tt>trips.read</tt> values match the Travel target entry in the
root-chain envelope. The IdP does not call ExpenseRAS to confirm acceptance.
Instead, the assertion from ExpenseSaaS's mapped CAI,
<tt>https://cai.expenses.example/</tt>, is the evidence that H0 reached ACCEPTED state
and is CONTINUABLE (<xref target="hop-activation"/>).</t>
          <t>The IdP resolves the user's TravelRAS pairwise subject and creates H1 as a
child of H0. The decoded ID-JAG carries H1 and the newly constructed
<tt>act</tt> chain (<xref target="onward-id-jag"/>): <tt>expense-service</tt>, authenticated at this
exchange, placed atop the root actor <tt>expense-app</tt>. <tt>travel-service</tt> has
not yet performed an exchange, so it is not part of the lineage.</t>
          <t>On the wire (decoded ID-JAG):</t>
          <sourcecode type="json"><![CDATA[
{
  "iss": "https://idp.example/",
  "aud": "https://ras.travel.example/",
  "sub": "travel-pairwise-subject",

  "client_id": "expense-service",
  "resource": "https://api.travel.example/",
  "scope": "trips.read",

  "auth_time": 1710000000,
  "acr": "urn:example:loa:2",
  "amr": ["pwd", "mfa"],

  "identity_continuation_handle": "Uc9fB3mHs5LdK7gEnX2wRj",

  "act": {
    "iss": "https://expenses.example/",
    "sub": "expense-service",
    "act": {
      "iss": "https://expenses.example/",
      "sub": "expense-app"
    }
  },

  "cnf": {
    "jkt": "base64url-expense-service-key-thumbprint"
  },

  "iat": 1710000025,
  "exp": 1710000325,
  "jti": "idjag-travel-01"
}
]]></sourcecode>
        </section>
        <section anchor="example-use">
          <name>TravelRAS Acceptance and the Travel-Domain Chain Context</name>
          <t>ExpenseService exchanges the TravelRAS ID-JAG at TravelRAS for an access
token (AT2), presenting a fresh DPoP proof with the same expense-service
key. TravelRAS recognizes the continuation grant profile just as
ExpenseRAS did: it validates the ID-JAG, authenticates ExpenseService,
and, on success, atomically binds H1 to the authorization state behind
AT2, exactly as <xref target="example-context"/> describes for ExpenseRAS and H0.</t>
          <t>ExpenseService calls TravelAPI with AT2. The Travel TTS derives H1 from
that bound state and issues a local Transaction Token for TravelService,
the TravelSaaS workload that receives the request. Its chain-context member
differs from the Expense token only in the hop handle:</t>
          <t>Intra-domain context (excerpt):</t>
          <sourcecode type="json"><![CDATA[
"tctx": {
  "identity_continuation": {
    "iss": "https://idp.example/",
    "tenant": "tenant-123",
    "handle": "Uc9fB3mHs5LdK7gEnX2wRj"
  }
}
]]></sourcecode>
          <t>The token remains inside <tt>travel.example</tt>; H1 replaces H0 because TravelRAS,
not ExpenseRAS, is now the accepted authorization from which continuation
will occur.</t>
        </section>
        <section anchor="example-third-hop">
          <name>TravelService Continues to BookingRAS</name>
          <t>TravelService needs a reservation from BookingSaaS. Processing the request
whose Transaction Token carries H1, it obtains the same assertion shape as
<xref target="example-ica"/> from Travel CAI, now naming H1, <tt>travel-service</tt>, and
TravelService's confirmed key.</t>
          <t>TravelService exchanges the assertion, DPoP-bound to its own key, for an
ID-JAG with <tt>audience=https://ras.booking.example/</tt>,
<tt>resource=https://api.booking.example/</tt>, and <tt>scope=stays.book</tt>, all
within the envelope's Booking target entry. The IdP creates a fresh hop
H2 whose immutable parent is H1 and constructs the onward <tt>act</tt> chain
(<xref target="onward-id-jag"/>): <tt>travel-service</tt>, authenticated at this exchange,
placed atop the presented hop's lineage (<tt>expense-service</tt>, then
<tt>expense-app</tt>).</t>
          <t>On the wire (selected claims from the decoded ID-JAG):</t>
          <sourcecode type="json"><![CDATA[
{
  "aud": "https://ras.booking.example/",
  "sub": "booking-pairwise-subject",
  "client_id": "travel-service",
  "resource": "https://api.booking.example/",
  "scope": "stays.book",
  "identity_continuation_handle": "Ht6mZ2pQe8VrKx4NcWy1Jd",
  "act": {
    "iss": "https://travel.example/",
    "sub": "travel-service",
    "act": {
      "iss": "https://expenses.example/",
      "sub": "expense-service",
      "act": {
        "iss": "https://expenses.example/",
        "sub": "expense-app"
      }
    }
  }
}
]]></sourcecode>
          <t>TravelService redeems the ID-JAG at BookingRAS for an access token (AT3),
presenting a fresh DPoP proof with the same key. Because Booking is terminal,
BookingRAS follows the ordinary ID-JAG profile: it ignores H2, issues AT3, and
does not bind the hop (<xref target="ras-processing"/>). Only ExpenseRAS and TravelRAS,
the Resource Authorization Servers from which continuation occurs, implement
the binding extension. TravelService then calls BookingAPI with AT3.</t>
          <t>TravelService itself is the current-domain actor that obtains the next
ID-JAG; it does not pass the handle to a sibling workload
(<xref target="transaction-token-context"/>).</t>
        </section>
        <section anchor="example-federation-edge">
          <name>Reaching a Target Outside the Trust Circle</name>
          <t>Suppose TravelSaaS must also call PartnerSaaS at <tt>https://partner.example/</tt>,
whose Resource Authorization Server does not trust <tt>idp.example</tt>. The chain
cannot continue there: the IdP holds no pairwise subject for that audience
and no authorization basis covers it, so a continuation request for that
target fails (<xref target="validation"/>, rules 5 and 7; <tt>invalid_target</tt>). This is
the profile's boundary, not a deployment error: continuation serves the set
of Resource Authorization Servers that trust the common IdP.</t>
          <t>A separate identity-chaining profile can cross that boundary under a
bilateral trust agreement. For example, TravelService can present its
Transaction Token to the Travel-domain authorization server under
<xref target="I-D.fletcher-transaction-token-chaining-profile"/>, which issues a minimized
grant for PartnerSaaS. The Transaction Token and continuation handle stay in
the Travel domain; neither is sent to PartnerSaaS.</t>
        </section>
      </section>
      <section anchor="example-background">
        <name>Background Agent Example (User-Scheduled Continuation)</name>
        <t>The user is present when the task is created and absent at every run. Unlike
the interactive example, the root hop is bound to durable, platform-owned
task authorization. The Scheduler stores only an opaque task identifier;
each run derives fresh context from the active authorization
(<xref target="task-provenance"/>).</t>
        <ul spacing="normal">
          <li>
            <t>Platform domain (<tt>platform.example</tt>): workload <tt>briefing-agent</tt>, and
PlatformRAS (the platform's own TaskRAS) / Platform TTS / Platform CAI,
in front of TaskAPI (<tt>https://api.platform.example/tasks</tt>);
the Scheduler is an internal platform component, holding only the task
identifier, that triggers each run.</t>
          </li>
          <li>
            <t>Calendar domain (<tt>calendar.example</tt>): CalendarRAS only, in front of
CalendarAPI. It is terminal in every run.</t>
          </li>
          <li>
            <t>Mail domain (<tt>mail.example</tt>): MailRAS in front of MailAPI, reached only
in the dynamic-target scenario below (<xref target="example-dynamic"/>); likewise
terminal.</t>
          </li>
        </ul>
        <t>The Scheduler stores only <tt>task-123</tt>. H0 remains bound to the PlatformRAS
task authorization across runs; each run receives a fresh child of H0 for
its terminal target.</t>
        <section anchor="setup-alice-present">
          <name>Setup (Alice Present)</name>
          <t>Alice authorizes "summarize my calendar every morning." Because the task must
outlive her session, <tt>briefing-agent</tt> uses a refresh token from a
continuation-capable grant as the root exchange's subject token. The chain
is therefore anchored to that grant, not Alice's current session
(<xref target="root-establishment"/>, <xref target="lifecycle"/>). The root ID-JAG targets the
PlatformRAS; the envelope records both that root target and the
Calendar target needed by the task.</t>
          <t>Server-side state (root envelope excerpt):</t>
          <artwork><![CDATA[
(https://ras.platform.example/, https://api.platform.example/tasks)
    permitted scopes: task.manage

(https://ras.calendar.example/, https://api.calendar.example/)
    permitted scopes: calendar.read
]]></artwork>
          <t>The response and RAS-binding pattern match <xref target="example-first-hop"/> and
<xref target="example-context"/>; the request differs by using a refresh token to obtain a
grant-anchored chain. PlatformRAS binds H0 to the durable task authorization.</t>
          <t>PlatformRAS keys the resulting durable task authorization by its assigned
task identifier. The record holds no bearer credential.</t>
          <t>Server-side state (PlatformRAS task authorization):</t>
          <artwork><![CDATA[
task_id:              task-123
owner:                alice
actor:                briefing-agent
continuation_handle:  Pz6vTq1NcY4kM8bJf3RxWa  # H0
permitted_purpose:    morning-calendar-brief
schedule:             "0 7 * * *"
governing_grant:      grant-8f2c19a4  # internal reference
expiry:               1719450000  # local, not IdP lifetime
status:               active
]]></artwork>
          <t>Server-side state (Scheduler):</t>
          <artwork><![CDATA[
task_id: task-123
]]></artwork>
          <t>The Scheduler never receives, stores, or transmits H0 or any user, chain, or
bearer credential;
<tt>task-123</tt> identifies a row in PlatformRAS's own durable state and means
nothing outside the platform.</t>
        </section>
        <section anchor="each-run-alice-absent">
          <name>Each Run (Alice Absent)</name>
          <t>Each run first authenticates the trigger and derives H0 from active task
state:</t>
          <artwork><![CDATA[
 Scheduler   BriefingAgent      Platform TTS
     |              |                 |
     |---trigger--->|                 | task-123
     |              |-task-123+proof->|
     |              |                 | verify proof + task; derive H0
     |              |<-fresh TT(H0)---|
]]></artwork>
          <t>BriefingAgent then performs a fresh continuation to terminal CalendarRAS:</t>
          <artwork><![CDATA[
 BriefingAgent    Platform CAI       IdP         CalendarRAS
       |               |             |               |
       |--request H0-->|             |               |
       |<-assertion----|             |               |
       |---------------------------->|               |
       |      assertion + DPoP       |               |
       |<----------------------------| ID-JAG(child) |
       |-------------------------------------------->|
       |                 ID-JAG                      |
       |<--------------------------------------------| access token
       |               |             |      no binding (terminal)
]]></artwork>
          <t>The task identifier is not a secret and does not authorize a run. The
Scheduler's trigger authenticates and carries only <tt>task-123</tt>; BriefingAgent
then authenticates to the Platform TTS and proves possession of its key, and
the TTS, after confirming <tt>task-123</tt> is active and BriefingAgent is its
designated actor, derives H0 into fresh intra-domain context
(<xref target="transaction-token-context"/>). Neither the Scheduler nor BriefingAgent
selects H0.</t>
          <t>Before issuing, Platform CAI authenticates <tt>briefing-agent</tt>, verifies its key
and transaction, and rechecks that PlatformRAS's H0 authorization remains
active. The assertion and onward ID-JAG have the shapes shown in
<xref target="example-ica"/> and <xref target="example-chained"/>.</t>
          <t>Each run presents H0 and receives a different child. CalendarRAS is terminal,
so it issues the access token without binding that child. A later run's child
is a sibling, not a descendant, of the earlier run's child
(<xref target="chain-id"/>, <xref target="ras-processing"/>).</t>
          <t>Had this run also needed <tt>https://api.mail.example/</tt> behind
<tt>https://ras.mail.example/</tt> (<xref target="example-dynamic"/>), <tt>briefing-agent</tt> would
present H0 again for a second assertion and receive a second, independent
child for MailRAS. MailRAS is also terminal and does not bind it. The Mail
and Calendar children share H0 as their parent; neither carries the other's
lineage.</t>
        </section>
        <section anchor="example-dynamic">
          <name>A Dynamic Target</name>
          <t>Suppose the platform later extends the briefing to include unread mail,
which requires <tt>https://api.mail.example/</tt> behind
<tt>https://ras.mail.example/</tt>: a target nobody named when Alice created the
task. Under the target entries recorded in the setup above, a run's
continuation exchange presenting H0 for that audience fails, and the
chain is otherwise unaffected.</t>
          <t>On the wire (response):</t>
          <artwork><![CDATA[
HTTP/1.1 400 Bad Request
Content-Type: application/json
Cache-Control: no-store
Pragma: no-cache

{
  "error": "invalid_target"
}
]]></artwork>
          <t>For a deployment that expects dynamic targets, the envelope's basis is
Alice's standing consent as recorded when the chain was established (for
example, a productivity read-access grant) and tenant policy, with no
enumerated targets; the IdP evaluates each dynamic target against that
recorded basis at continuation time (<xref target="validation"/>, rule 7). A scope granted
only later does not extend this chain. The same exchange succeeds only if
read access to the mail service is within Alice's standing consent and tenant
policy permits <tt>briefing-agent</tt> to reach it. A request for <tt>mail.send</tt>,
outside that consent, fails with <tt>invalid_scope</tt>.</t>
          <t>The establishment-time envelope remains the ceiling: later policy may narrow
or revoke it but cannot broaden it. A target-specific failure leaves the
chain continuable for other authorized targets.</t>
        </section>
        <section anchor="points-worth-noticing">
          <name>Points Worth Noticing</name>
          <ul spacing="normal">
            <li>
              <t>Stealing <tt>task-123</tt> reveals no handle and does not authorize a trigger.</t>
            </li>
            <li>
              <t>Stealing the internal task record exposes H0, but H0 alone is insufficient:
continuation still requires the agent key and an assertion from Platform
CAI while the PlatformRAS authorization remains active.</t>
            </li>
            <li>
              <t>The ID-JAG, local task authorization, and IdP-held chain have distinct
lifetimes (<xref target="lifecycle"/>).</t>
            </li>
          </ul>
          <t>This pattern requires a user-present setup event to root the chain. Where
no such event exists (for example, an administratively mandated agent
acting for users who never authorized it), there is no delegation to
continue and this profile does not apply; such deployments need a
differently rooted authorization, such as administrative policy at the
IdP, which is out of scope for this document.</t>
        </section>
      </section>
      <section anchor="example-gateway">
        <name>Gateway Example (Dynamic Upstream Audiences)</name>
        <t>AgentApp knows the gateway audience but not the eventual upstream. The
gateway knows the upstream but holds no end-user assertion addressed to it.
This flow lets the gateway obtain an audience-specific grant without
weakening the original assertion's audience check.</t>
        <ul spacing="normal">
          <li>
            <t>AgentPlatform domain (<tt>agent.example</tt>): client <tt>agent-app</tt> only, the
confidential runtime that hosts Alice's session and roots the chain; it
has no Resource Authorization Server of its own in this example.</t>
          </li>
          <li>
            <t>Gateway domain (<tt>gateway.example</tt>): workload <tt>tool-gateway</tt>, and
GatewayRAS / Gateway TTS / Gateway CAI, in front of the gateway's
own tool-invocation surface (<tt>resource=https://gateway.example/</tt>),
scoped under tenant <tt>tenant-gw-01</tt>.</t>
          </li>
          <li>
            <t>Wiki domain (<tt>wiki.example</tt>): WikiRAS only, in front of WikiAPI. It is
terminal in this chain.</t>
          </li>
        </ul>
        <t>Alice has pairwise subjects at GatewayRAS and WikiRAS, which only the IdP can
map. H0 is the root hop bound at GatewayRAS; H1 is the terminal Wiki hop.</t>
        <t>The runtime roots the chain at the gateway:</t>
        <artwork><![CDATA[
 AgentApp          IdP          GatewayRAS
     |               |               |
     |--ID Token---->|               |
     |<--ID-JAG(H0)--|               |
     |----------------ID-JAG-------->| bind H0
     |<-------------gateway AT-------|
]]></artwork>
        <t>To reach Wiki, the gateway continues the chain:</t>
        <artwork><![CDATA[
 ToolGateway       Gateway CAI        IdP          WikiRAS/API
      |                 |             |                 |
      |--request H0---->|             |                 |
      |<-assertion------|             |                 |
      |------------------------------>|                 |
      |       assertion + DPoP        |                 |
      |<------------------------------| ID-JAG(H1)      |
      |------------------------------------------------>|
      |                ID-JAG to WikiRAS                |
      |<------------------------------------------------| wiki AT
      |--------------------call WikiAPI with AT-------->|
      |                 |             |        no binding (terminal)
]]></artwork>
        <section anchor="root-exchange-the-runtime-roots-the-chain">
          <name>Root Exchange: The Runtime Roots the Chain</name>
          <t>AgentApp performs a root exchange for the one audience it knows: GatewayRAS.
The eventual upstreams are not known at root time, so, unlike the interactive
example (<xref target="example"/>), whose envelope enumerated each onward target, this
envelope records an authorization-basis ceiling, Alice's standing consent and
tenant policy, with
no enumerated targets; enterprise policy permits <tt>tool-gateway</tt> to continue it
(<xref target="root-establishment"/>, <xref target="validation"/>, rules 5 and 7). GatewayRAS accepts the
ID-JAG and binds H0 exactly as ExpenseRAS bound H0 in <xref target="example-context"/>.</t>
          <t>AgentApp then invokes the gateway with its access token and no continuation
input. AgentApp can read H0 in its ID-JAG, but it cannot supply or select the
handle used for this call. Gateway TTS derives H0 from the authorization
that GatewayRAS bound to the presented access token
(<xref target="transaction-token-context"/>).</t>
        </section>
        <section anchor="continuation-exchange-the-gateway-continues">
          <name>Continuation Exchange: The Gateway Continues</name>
          <t>Resolving the tool call, the gateway selects Wiki as the upstream, a target no
one enumerated when AgentApp rooted the chain. ToolGateway reads H0 from its
transaction context, obtains an assertion from Gateway CAI, and presents it to
the IdP with a DPoP proof of the <tt>cnf</tt> key, as in <xref target="example-chained"/>, now
requesting
<tt>audience=https://ras.wiki.example/</tt>, <tt>resource=https://api.wiki.example/</tt>, and
<tt>scope=wiki.read</tt>.</t>
          <t>Because the envelope enumerates no targets, the IdP evaluates this dynamically
chosen target against the recorded basis, Alice's standing consent and tenant
policy at establishment (<xref target="validation"/>, rules 5 and 7). Wiki read access is
within
that basis and enterprise policy permits <tt>tool-gateway</tt> to reach it, so the
exchange succeeds and the IdP constructs the onward lineage with <tt>tool-gateway</tt>
atop <tt>agent-app</tt>. A target hint from the gateway informs issuance limits and
logging only; the IdP, not the gateway, decides whether a target is in the
envelope.</t>
          <t>WikiRAS is terminal and redeems the resulting ID-JAG without binding H1. Each
permitted tool call repeats this exchange and creates a sibling hop under H0; a
target outside the basis fails with <tt>invalid_target</tt> as in <xref target="example-dynamic"/>.</t>
        </section>
        <section anchor="points-worth-noticing-1">
          <name>Points Worth Noticing</name>
          <ul spacing="normal">
            <li>
              <t>AgentApp alone presents Alice's root credential (the ID Token); the gateway
never holds or presents it.</t>
            </li>
            <li>
              <t>Gateway TTS, not AgentApp, selects H0 from GatewayRAS-bound state.</t>
            </li>
            <li>
              <t>The IdP evaluates every dynamically selected target against the root
envelope and constructs the gateway's actor lineage.</t>
            </li>
          </ul>
        </section>
      </section>
    </section>
    <section anchor="open-items">
      <name>Open Items for Working Group Discussion</name>
      <t>This non-normative appendix lists unresolved design questions.</t>
      <t>[[ To be removed before publication as an RFC ]]</t>
      <ol spacing="normal" type="1"><li>
          <t><strong>Signed assertion versus a recipient-bound direct profile.</strong>
Could the IdP bind a continuation credential to an intended actor, actor
class, trust domain, or key and accept it with client authentication,
sender-constrained <tt>actor_token</tt>, and live key proof? Are the CAI's actor/key
attestation and domain-local gate worth the added trust configuration
(<xref target="rationale-grant-type"/>)?</t>
        </li>
        <li>
          <t><strong>Mutual-TLS binding.</strong> Should this profile and ID-JAG add mutual-TLS
binding together (<xref target="client-identity"/>)?</t>
        </li>
        <li>
          <t><strong>A client establishment parameter.</strong> Should a client be able to require
or suppress chain establishment, or negotiate lifetime, depth, or
permitted continuers (<xref target="root-establishment"/>)?</t>
        </li>
        <li>
          <t><strong>CAI issuance.</strong> Should the document define an interoperable
token-endpoint-style issuance request (<xref target="assertion-issuance"/>)?  </t>
          <artwork><![CDATA[
POST /identity-continuation-assertion HTTP/1.1
DPoP: <proof>

identity_continuation_handle=<handle>
]]></artwork>
          <t>
The authenticated workload and proof key would determine <tt>act</tt> and <tt>cnf</tt>,
and the IdP audience would derive from the hop's binding rather than be
supplied.
The profile could also define errors, discovery, retry, and optional
target/resource constraints enforced by the IdP as ceilings. The CAI's
signing-key discovery is already specified (<xref target="metadata"/>), so this item
concerns only the issuance request and response.</t>
        </li>
        <li>
          <t><strong>Authorization-basis representation.</strong> Should the envelope expose a
testable representation of the authorization ceiling, for example:  </t>
          <sourcecode type="json"><![CDATA[
{ "targets": [ { "audience": "https://ras.travel.example/",
    "resource": "https://api.travel.example/",
    "scope": ["trips.read"] } ] }
]]></sourcecode>
          <t>
Dynamic ceilings might instead use an authorization detail <xref target="RFC9396"/>,
policy-bound intent, or immutable policy artifact. Should continuation
permission have a dedicated consent scope even though establishment can
occur without a client-requested scope?</t>
        </li>
      </ol>
      <t>Further questions are tracked in the project's issue list rather than expanded
here: nested own-domain <tt>act</tt> segments and offline-actor audit
(<xref target="I-D.mcguinness-oauth-actor-receipts"/>,
<xref target="I-D.mcguinness-oauth-actor-proofs"/>); a pull topology with target-side
resolution (<xref target="rationale-pull"/>); an alternative chain-context carrier that
derives the handle from RAS-bound state; IdP discovery metadata for accepted
actor-token types, issuers, and proof methods (<xref target="metadata"/>); a non-user root
profile (<xref target="decision-rule"/>); and RAS-derived narrowing with a signed
intersection model (<xref target="hop-activation"/>).</t>
    </section>
    <section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>The author thanks the authors of the OAuth Identity and Authorization Chaining
Across Domains and the Identity Assertion JWT Authorization Grant, on whose work
this profile builds.</t>
    </section>
    <section numbered="false" anchor="document-history">
      <name>Document History</name>
      <t>[[ To be removed before publication as an RFC ]]</t>
      <t>-01</t>
      <ul spacing="normal">
        <li>
          <t>Renamed Chain Authority to Continuation Assertion Issuer and the
direct/chained exchanges to root/continuation exchanges, and aligned with the
base ID-JAG profile: terminology (IdP Authorization Server), Token Exchange
request/response formatting, and <tt>resource</tt> cardinality (zero or more, per
RFC 8707).</t>
        </li>
        <li>
          <t>Restructured for clarity and scope: grouped request validation into seven
rules; split the response into success, onward ID-JAG construction, and
errors; added a non-normative Implementation Considerations section; and
demoted the intra-domain carrier and other deployment guidance out of
normative text.</t>
        </li>
        <li>
          <t>Bound the originating IdP and tenant to the accepted hop, so the CAI derives
the assertion audience from that binding rather than requester input;
restricted CAI issuance to the RAS trust domain.</t>
        </li>
        <li>
          <t>Made the RAS <tt>identity_continuation_issuers</tt> advertisement a nomination only
(the IdP establishes issuer trust and keys independently, resolving an
authorization-server CAI's keys from its <tt>jwks_uri</tt>) and added a Metadata
Disclosure security consideration.</t>
        </li>
        <li>
          <t>Tightened the security model: relocated the replay-fingerprint and
authentication-context requirements into the protocol sections with their
rationale in Security; narrowed <tt>invalid_continuation</tt> to permanently
unusable handles; distinguished the ID-JAG, assertion, and access-token
lifetimes; clarified that a depth-limited <tt>act</tt> is not proof of complete
lineage; and made chain revocation testable.</t>
        </li>
        <li>
          <t>Rewrote the Introduction; corrected the examples and cross-references,
expanded the root-chain envelope and design rationale, softened the
handle-correlation claim, trimmed the open items, and marked the draft an
individual submission.</t>
        </li>
      </ul>
      <t>-00</t>
      <ul spacing="normal">
        <li>
          <t>Initial revision</t>
        </li>
      </ul>
    </section>
  </back>
  <!-- ##markdown-source:
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
MI59IS5jMoomutUe3kXDr7aCyJU0yzYoR5g+X/wKNgRrd/pA//SaX2tciV/E
uMKrW+18rakNGOEz8vu9EaPezw5v6y3vDdr34rHml9of7bbaBjj3hNNqnqjk
qGjIZyc/Oncs3IUHfCoZ79v1Dl5yEoJVY8ZaCw8z3Ktf3774O7ZHi5zD7YER
t+T6auX6d+TBA0kEpXYcZ9Y4mhTaoGDKbmEITtjEX9++wlf8ulJoWFLmsUoE
J/6puBDqg79m275iZ3q3hXgD7oYuOXGMm6x7VDcY7QInK+nyX7dg15Y1dlbs
pwiZryOhNvZxYPXL87zkGs/0TYtZWVfAcrXectZ/1HZ5lRw/tSsUxByY5inZ
en/HoaIUPjkKcrL8uPWW080d6M9z9HpVVh4z5UYmeNAe33uMsyUxgoefHXws
e7CTsIs6CTMdXdtHGEUfTq4QkgjaicB6LsdN+OM1gyEDFR+Z76+N9726e+Tc
a+270PPbs0J6SE0icYS/j6mwmB1zpzRlb2qgfVo06QcOIX4wIIhHBETP+yFw
ldhZlZ9BLROu4+XWqDkq5kyprRX380oSD8VMQ8NsBFJuu8ZsOrAe2GBD0TzO
uGxzx7zYxEEXMFyJcDrbt0e3d1DVqNB9VmGtkuWZd9fkmJoGWrr5Zw7sBRQO
t6MvryL/vyS1d4ehpX+zVI5eh6dnM48LWvSIk4wduAgGZQSPQ0QXcmXCOhEZ
ygZyj3Cthfn+XNJK62W19DhNj9lrTant8OY/YqObLGqEue7lj3wDopzLyfTd
vx1X38MTn2YLsDW4m+wsR8c0qYAsW7g8LKOx5PqX6TlYCdw/GgV48NOPVASi
CkXrx5fYf6Ap64uEWDGdOqQpvQz2idyeyb8kWG0x0+x+bfGSSj8KBblvvc2f
0mqWvJz8tMwL6tm1zS6If3sP388n5/L1CNT3HaYcSi1aouaEtz95/fLl61d4
vLEsWMwCgqKVC3gxiVv3PM549qSHZwOjpWrrd9lYCOIJNxz/ep6rPXuY3faO
7hlvr5rJBx5oia72auYGwaXXPiXGvdCVPyrMtESnJ/WGlFw/bV8kRgvBQp4R
zHWcU8jZxUvR471lFwtodRAwUDRDwrDH2DJMaMWoaMYyeK0qQAuQ+NCrDEbn
eMpd2NLrmSYFTYs1ioPBw1g7VxFRBC6HuhJDzhMaR2TOXwRG/SGBAiE7J3Ob
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
5tXeh307hH17XZdab1Nc0hdJ/gH/4aPiEpYBAA==

-->

</rfc>
