<?xml version="1.0" encoding="UTF-8"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.43 (Ruby 3.1.2) -->


<!DOCTYPE rfc  [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">

]>


<rfc ipr="trust200902" docName="draft-lee-oauth-dpop-credential-presentation-02" category="info" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true">
  <front>
    <title abbrev="Access Tokens as VCs">JWT Access Tokens as W3C Verifiable Credentials</title>

    <author initials="S. F." surname="Lee" fullname="Su-hyeon Forten Lee">
      <organization></organization>
      <address>
        <email>nine01223@naver.com</email>
      </address>
    </author>

    <date year="2026" month="October" day="01"/>

    <area>Security</area>
    <workgroup>Web Authorization Protocol</workgroup>
    <keyword>access token</keyword> <keyword>verifiable credential</keyword> <keyword>DPoP</keyword> <keyword>resource server</keyword> <keyword>AI agents</keyword>

    <abstract>


<?line 80?>

<t>This document profiles the JWT access token of RFC 9068 so that the same JWT
is also a W3C Verifiable Credential secured with JOSE. The authorization
server is the credential's issuer, and the token is bound to the client's key
with DPoP (RFC 9449). A resource server receives it as an ordinary DPoP-bound
access token and needs no change. A verifier can process the same object as
a Verifiable Credential, needing at most an exception for its <spanx style="verb">typ</spanx> value.</t>

<t>The profile defines no new header parameters, claims or registrations. It
states which existing header parameters and claims the token carries, how the
claims of the two data models correspond, and the conditions under which one
object can safely serve both purposes.</t>



    </abstract>

    <note title="About This Document" removeInRFC="true">
      <t>
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-lee-oauth-dpop-credential-presentation/"/>.
      </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>
    </note>


  </front>

  <middle>


<?line 94?>

<section anchor="introduction"><name>Introduction</name>

<t>OAuth access tokens and Verifiable Credentials are both issuer-signed
statements about a subject that a holder of a key presents to a relying
party. They have grown up in separate ecosystems, with separate issuance and
presentation protocols. A deployment that wants both today issues two objects
and runs two stacks.</t>

<t>For one class of deployment this is avoidable. Where the party that issues
the credential is the authorization server the resource server already
trusts, and the party that holds the credential is the OAuth client, a JWT
access token <xref target="RFC9068"/> already carries nearly everything a Verifiable
Credential <xref target="VC-DATA-MODEL-2.0"/> needs: an issuer, a subject, a validity
period and a signature. This document specifies the remainder, so that one
JWT satisfies the requirements of both data models under this profile.</t>

<t>The primary way the token is presented is the one OAuth already defines. The
token is a DPoP-bound access token <xref target="RFC9449"/>, the resource server validates
it as <xref target="RFC9068"/> and <xref target="RFC9449"/> require, and the DPoP proof is what binds
the presentation to the holder's key. Nothing about the resource server
changes. As a secondary path, a holder can present the same object as a
Verifiable Credential to a verifier outside the OAuth exchange, for example
with <xref target="OpenID4VP"/>.</t>

<t>AI agents are the motivating case. An agent is an OAuth client that calls the
HTTP APIs of tools on behalf of a person, and <xref target="MCP.Authorization"/> defines an
MCP server as an OAuth resource server that accepts only tokens issued for it
by its authorization server. A token under this profile satisfies that rule
unchanged, and is at the same time a credential stating on whose behalf the
agent is calling.</t>

<section anchor="applicability"><name>Applicability</name>

<t>This profile applies only when all of the following hold.</t>

<t><list style="numbers" type="1">
  <t>The Holder is the OAuth client. The client holds the key the token is
bound to, as an AI agent or other software client does. This profile is
not a way to issue credentials to end-user wallets.</t>
  <t>The Issuer is an authorization server that the resource server already
trusts. Issuers with which the resource server has no prior relationship
are out of scope.</t>
  <t>The token is sender-constrained with DPoP. The DPoP proof is what binds
the token to its holder, so use as a bearer token is prohibited
(<xref target="security"/>).</t>
  <t>The token is presented whole. It is a JWS in compact serialization
<xref target="RFC7515"/> signed with an asymmetric algorithm. Selective disclosure is
out of scope, and every claim is visible to the recipient.</t>
  <t>The token has a single audience (<xref target="audience"/>), and the resource server it
names validates JWT access tokens as <xref target="RFC9068"/> specifies and enforces
DPoP (<xref target="security"/>).</t>
</list></t>

<t>How the authorization server authenticates the user or the client before
issuing the token is out of scope, as it is in OAuth generally. That includes
the case in which the authorization server itself acts as a verifier of
credentials the client holds. This profile concerns only the token the
authorization server issues afterwards.</t>

<t>The profile fits deployments that want a token that is used essentially as an
access token, carries no more personal data than an access token would, and is
also consumable by Verifiable Credential tooling.</t>

</section>
<section anchor="related-work"><name>Related Work</name>

<t><xref target="I-D.ambekar-oauth-epop"/> carries an access token inside an envelope signed
by the client. A token under this profile is an access token and can be
carried that way as well. The two documents are independent: that one
defines how a token is bound and transported, this one what the token is.</t>

</section>
</section>
<section anchor="conventions-and-definitions"><name>Conventions and Definitions</name>

<t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>

<?line -18?>

<t>The roles of the two ecosystems correspond as follows.</t>

<texttable title="Role correspondence">
      <ttcol align='left'>OAuth 2.0</ttcol>
      <ttcol align='left'>Verifiable Credentials</ttcol>
      <ttcol align='left'>In this profile</ttcol>
      <c>Authorization server</c>
      <c>Issuer</c>
      <c>The same party</c>
      <c>Client</c>
      <c>Holder</c>
      <c>The same party</c>
      <c>Resource server</c>
      <c>Verifier</c>
      <c>May be the same party</c>
      <c>Access token</c>
      <c>Verifiable Credential</c>
      <c>The same object</c>
</texttable>

<t>"Token" in this document means a JWT that satisfies <xref target="format"/>. "Verifier"
means a party that processes the Token as a Verifiable Credential; it may or
may not also be the resource server.</t>

</section>
<section anchor="format"><name>Token Format</name>

<t>A Token is a JWT <xref target="RFC7519"/> that is an access token as defined in <xref target="RFC9068"/>
and whose payload is also
a verifiable credential as defined in <xref target="VC-DATA-MODEL-2.0"/>, secured as
described in <xref target="VC-JOSE-COSE"/>. The claims required by <xref target="RFC9068"/> and the
properties required by <xref target="VC-DATA-MODEL-2.0"/> are members of the same
top-level JSON object.</t>

<section anchor="header"><name>Header</name>

<texttable title="Header parameters">
      <ttcol align='left'>Parameter</ttcol>
      <ttcol align='left'>Value</ttcol>
      <ttcol align='left'>Basis</ttcol>
      <c><spanx style="verb">typ</spanx></c>
      <c><spanx style="verb">at+jwt</spanx></c>
      <c><bcp14>REQUIRED</bcp14> by this profile. See below.</c>
      <c><spanx style="verb">cty</spanx></c>
      <c><spanx style="verb">vc</spanx></c>
      <c><bcp14>REQUIRED</bcp14> by this profile.</c>
      <c><spanx style="verb">alg</spanx></c>
      <c>An asymmetric algorithm</c>
      <c><xref target="RFC9068"/>, <xref target="RFC8725"/>. <spanx style="verb">none</spanx> <bcp14>MUST NOT</bcp14> be used.</c>
      <c><spanx style="verb">kid</spanx></c>
      <c>Identifier of the Issuer's key</c>
      <c><bcp14>OPTIONAL</bcp14>, except as stated in <xref target="keys"/>.</c>
</texttable>

<t>The two specifications treat <spanx style="verb">typ</spanx> differently. <xref section="2.1" sectionFormat="of" target="RFC9068"/>
requires the access token media type in <spanx style="verb">typ</spanx> and recommends writing it
without the <spanx style="verb">application/</spanx> prefix, as <spanx style="verb">at+jwt</spanx>; <xref section="4" sectionFormat="of" target="RFC9068"/>
requires a resource server to reject a token whose <spanx style="verb">typ</spanx> is neither <spanx style="verb">at+jwt</spanx>
nor <spanx style="verb">application/at+jwt</spanx>. <xref target="VC-JOSE-COSE"/> recommends <spanx style="verb">vc+jwt</spanx> without
requiring it. This profile therefore requires <spanx style="verb">at+jwt</spanx>, and identifies the
content as a verifiable credential with <spanx style="verb">cty</spanx>, the parameter <xref target="VC-JOSE-COSE"/>
provides for distinguishing secured content.</t>

<t>Because <spanx style="verb">vc+jwt</spanx> is a recommendation, a Verifier that does not enforce it
processes a Token without change. A Verifier that strictly requires <spanx style="verb">vc+jwt</spanx>
needs an exception for <spanx style="verb">at+jwt</spanx> with <spanx style="verb">cty</spanx> <spanx style="verb">vc</spanx> (<xref target="verifier"/>).</t>

</section>
<section anchor="claims"><name>Claims</name>

<t>All claims that <xref target="RFC9068"/> requires are present, and <spanx style="verb">cnf</spanx> is added. The
following table lists them together with the <xref target="VC-DATA-MODEL-2.0"/> property each corresponds to, if
any.</t>

<texttable title="JWT access token claims" anchor="tab-claims">
      <ttcol align='left'>JWT claim</ttcol>
      <ttcol align='left'>VC property</ttcol>
      <ttcol align='left'>Rule</ttcol>
      <c><spanx style="verb">iss</spanx></c>
      <c><spanx style="verb">issuer</spanx></c>
      <c><bcp14>REQUIRED</bcp14>. The same value. This profile requires it to be a URI (<xref target="uri-ids"/>).</c>
      <c><spanx style="verb">sub</spanx></c>
      <c><spanx style="verb">credentialSubject.id</spanx></c>
      <c><bcp14>REQUIRED</bcp14>. The same value. This profile requires it to be a URI (<xref target="uri-ids"/>) and makes <spanx style="verb">credentialSubject.id</spanx> <bcp14>REQUIRED</bcp14>.</c>
      <c><spanx style="verb">aud</spanx></c>
      <c>none</c>
      <c><bcp14>REQUIRED</bcp14>. A single value, set by the Issuer (<xref target="audience"/>).</c>
      <c><spanx style="verb">exp</spanx></c>
      <c><spanx style="verb">validUntil</spanx></c>
      <c><bcp14>REQUIRED</bcp14>. <spanx style="verb">validUntil</spanx> <bcp14>MUST NOT</bcp14> be later than <spanx style="verb">exp</spanx> and <bcp14>SHOULD</bcp14> express the same instant.</c>
      <c><spanx style="verb">iat</spanx></c>
      <c>none</c>
      <c><bcp14>REQUIRED</bcp14>. Independent of <spanx style="verb">validFrom</spanx>.</c>
      <c><spanx style="verb">jti</spanx></c>
      <c><spanx style="verb">id</spanx></c>
      <c><bcp14>REQUIRED</bcp14>. If <spanx style="verb">id</spanx> is present it <bcp14>MUST</bcp14> equal <spanx style="verb">jti</spanx>.</c>
      <c><spanx style="verb">client_id</spanx></c>
      <c>none</c>
      <c><bcp14>REQUIRED</bcp14>. The OAuth client. Not an identifier of the Holder's key.</c>
      <c><spanx style="verb">scope</spanx></c>
      <c>none</c>
      <c><bcp14>OPTIONAL</bcp14>. As in <xref target="RFC9068"/>.</c>
      <c><spanx style="verb">cnf</spanx></c>
      <c>none</c>
      <c><bcp14>REQUIRED</bcp14> by this profile, for DPoP binding. <spanx style="verb">jkt</spanx> (<xref section="6.1" sectionFormat="of" target="RFC9449"/>) is <bcp14>REQUIRED</bcp14>. <spanx style="verb">jwk</spanx> <xref target="RFC7800"/> <bcp14>MAY</bcp14> be added; if both are present they <bcp14>MUST</bcp14> identify the same key.</c>
</texttable>

<t>The payload also carries the properties that <xref target="VC-DATA-MODEL-2.0"/> requires.</t>

<texttable title="Verifiable Credential properties" anchor="tab-vc">
      <ttcol align='left'>VC property</ttcol>
      <ttcol align='left'>Requirement</ttcol>
      <c><spanx style="verb">@context</spanx></c>
      <c><bcp14>REQUIRED</bcp14>. See below.</c>
      <c><spanx style="verb">type</spanx></c>
      <c><bcp14>REQUIRED</bcp14>. <bcp14>MUST</bcp14> include <spanx style="verb">VerifiableCredential</spanx>.</c>
      <c><spanx style="verb">issuer</spanx></c>
      <c><bcp14>REQUIRED</bcp14>. The same value as <spanx style="verb">iss</spanx>.</c>
      <c><spanx style="verb">credentialSubject</spanx></c>
      <c><bcp14>REQUIRED</bcp14>. Claims about the subject.</c>
      <c><spanx style="verb">validUntil</spanx></c>
      <c><bcp14>REQUIRED</bcp14> by this profile. Not later than <spanx style="verb">exp</spanx>.</c>
      <c><spanx style="verb">id</spanx></c>
      <c><bcp14>OPTIONAL</bcp14>. The same value as <spanx style="verb">jti</spanx>.</c>
      <c><spanx style="verb">credentialStatus</spanx></c>
      <c><bcp14>OPTIONAL</bcp14>. See <xref target="status"/>.</c>
</texttable>

<t>The first value of <spanx style="verb">@context</spanx> <bcp14>MUST</bcp14> be
<spanx style="verb">https://www.w3.org/ns/credentials/v2</spanx>.</t>

<t>The <spanx style="verb">vc</spanx> and <spanx style="verb">vp</spanx> claims <bcp14>MUST NOT</bcp14> be present, as <xref target="VC-JOSE-COSE"/> requires.
The <spanx style="verb">nbf</spanx> claim <bcp14>SHOULD NOT</bcp14> be used, as <xref target="VC-JOSE-COSE"/> recommends.</t>

<t><spanx style="verb">validUntil</spanx> is <bcp14>REQUIRED</bcp14> so that a Verifier that determines validity from
the credential's own properties, as a Verifiable Credential verifier does,
reaches the same result as a resource server that checks <spanx style="verb">exp</spanx>.</t>

<t><spanx style="verb">sub</spanx> identifies the subject of the claims, for example the user. <spanx style="verb">client_id</spanx>
identifies the OAuth client, for example the agent. The Holder's key is the
one <spanx style="verb">cnf</spanx> confirms. Where the subject is itself the Holder, the Issuer <bcp14>MAY</bcp14> use
as <spanx style="verb">sub</spanx> and <spanx style="verb">credentialSubject.id</spanx> an identifier from which that key can be
obtained, such as a DID; that key <bcp14>MUST</bcp14> then be the key <spanx style="verb">cnf</spanx> confirms, and a
Verifier can identify the Holder's key from <spanx style="verb">credentialSubject.id</spanx> as it does
for other Verifiable Credentials. In every other case a recipient <bcp14>MUST NOT</bcp14>
assume that the party identified by <spanx style="verb">client_id</spanx> or by <spanx style="verb">sub</spanx> is the holder of
the key.</t>

<section anchor="uri-ids"><name>Identifiers</name>

<t><xref target="RFC9068"/> does not require <spanx style="verb">iss</spanx> or <spanx style="verb">sub</spanx> to be a URI. This profile does,
because <xref target="VC-DATA-MODEL-2.0"/> requires <spanx style="verb">issuer</spanx> and <spanx style="verb">credentialSubject.id</spanx> to
be URLs and each pair carries a single value. A
Decentralized Identifier (DID) is a URI and <bcp14>MAY</bcp14> be used for either.</t>

<t>For <spanx style="verb">iss</spanx> one constraint follows from OAuth rather than from this profile.
<xref section="4" sectionFormat="of" target="RFC9068"/> requires <spanx style="verb">iss</spanx> to exactly match the authorization
server's issuer identifier, and a resource server that obtains keys through
authorization server metadata <xref target="RFC8414"/> knows that identifier as an <spanx style="verb">https</spanx>
URL. In such a deployment <spanx style="verb">iss</spanx> is that <spanx style="verb">https</spanx> URL. An <spanx style="verb">iss</spanx> that is not an
<spanx style="verb">https</spanx> URL can be used only where the resource server is configured with
the issuer identifier and its keys by other means.</t>

<t><spanx style="verb">aud</spanx> and <spanx style="verb">client_id</spanx> are not affected. <spanx style="verb">aud</spanx> carries the identifier the
resource server expects for itself (<xref target="audience"/>), and <spanx style="verb">client_id</spanx> is the
OAuth client identifier.</t>

<t>The payload is processed as JSON. A recipient is not required to perform
JSON-LD processing, and <bcp14>MUST NOT</bcp14> retrieve documents referenced by <spanx style="verb">@context</spanx>
values in order to validate the Token.</t>

</section>
</section>
<section anchor="audience"><name>Audience</name>

<t>The audience is set by the Issuer when the Token is issued. The Holder does
not set it.</t>

<t><spanx style="verb">aud</spanx> <bcp14>MUST</bcp14> contain exactly one value, and that value <bcp14>MUST</bcp14> identify a single
protected resource. This is the audience that <xref section="3" sectionFormat="of" target="RFC9068"/> and
<xref target="RFC8707"/> produce for a request naming one resource. An identifier that
several distinct protected resources have agreed to accept <bcp14>MUST NOT</bcp14> be used,
since it has the properties of a multi-valued audience under another form.</t>

<t>A Holder that calls several resource servers obtains a Token for each. This
does not require asking the user again. As <xref section="2.2" sectionFormat="of" target="RFC8707"/>
describes, a client that has been granted access to several resources names
one of them in the <spanx style="verb">resource</spanx> parameter of each token request, including a
refresh request, and receives a token for that resource. Token exchange
<xref target="RFC8693"/> serves the same purpose.</t>

<t>The restriction has three effects:</t>

<t><list style="symbols">
  <t>The <spanx style="verb">scope</spanx> of a Token refers to one resource. The ambiguity that
<xref section="5" sectionFormat="of" target="RFC9068"/> warns of, in which a scope value cannot be
correlated with one of several audiences, does not arise.</t>
  <t>A Token carries authority over one resource, and that is the extent of the
damage if the Holder's key is compromised. A DPoP proof binds a
presentation to a request; it does not reduce the authority the Token
conveys, and a Holder has no means of presenting less than the whole
Token. The Token itself therefore has to be narrow.</t>
  <t>No recipient learns which other resources the Holder may access, or sees
claims intended for them.</t>
</list></t>

</section>
<section anchor="status"><name>Status</name>

<t>Status information is <bcp14>OPTIONAL</bcp14>. A Token is short-lived, as access tokens are,
and many deployments will need no revocation mechanism.</t>

<t>A deployment that requires status checking <bcp14>MUST</bcp14> specify which mechanism it
uses and which recipients check it. The mechanism is either a
<spanx style="verb">credentialStatus</spanx> property referring to a Bitstring Status List
<xref target="VC-BITSTRING-STATUS-LIST"/> or a <spanx style="verb">status</spanx> claim as defined in
<xref target="I-D.ietf-oauth-status-list"/>. A recipient is not required to support a
mechanism the deployment has not chosen, and ignores status information it
does not support. If a Token carries both, they <bcp14>MUST</bcp14> express the same status.</t>

<t>This profile does not itself require a resource server to check status;
<xref target="RFC9068"/> does not, and a resource server that validates Tokens as
<xref target="RFC9068"/> specifies remains conformant.</t>

<t>Status information indicates revocation only. It never extends the period
set by <spanx style="verb">exp</spanx> and <spanx style="verb">validUntil</spanx>.</t>

</section>
<section anchor="keys"><name>Key Discovery</name>

<t>A resource server obtains the Issuer's keys as it does for any JWT access
token, from the authorization server metadata <xref target="RFC8414"/>. A Verifier uses
the key discovery of <xref target="VC-JOSE-COSE"/>, which can start from <spanx style="verb">iss</spanx>, from <spanx style="verb">kid</spanx>,
or from both.</t>

<t>The Issuer <bcp14>MUST</bcp14> make the signing key discoverable by both, each through its
own mechanism, and uses a single identifier as both <spanx style="verb">iss</spanx> and <spanx style="verb">issuer</spanx>
(<xref target="uri-ids"/>).</t>

<t><spanx style="verb">kid</spanx> is not required by <xref target="RFC9068"/>. It <bcp14>MUST</bcp14> be present where the key
discovery rules of <xref target="VC-JOSE-COSE"/> require it, which is the case when the
Issuer's key is expressed as a DID URL. If <spanx style="verb">kid</spanx> is present, it <bcp14>MUST</bcp14> identify
the same key in both contexts.</t>

</section>
</section>
<section anchor="presentation"><name>Presentation</name>

<section anchor="rs"><name>To a Resource Server</name>

<t>The Holder presents the Token as a DPoP-bound access token, exactly as
<xref section="7.1" sectionFormat="of" target="RFC9449"/> specifies. The resource server validates it as
<xref section="4" sectionFormat="of" target="RFC9068"/> and <xref section="7.1" sectionFormat="of" target="RFC9449"/> specify. This document
adds nothing to either. In particular, <spanx style="verb">ath</spanx> in the DPoP proof is the hash of
the Token, and the proof's key is checked against <spanx style="verb">cnf.jkt</spanx>.</t>

<t>Seen from the credential side, the DPoP proof is the holder binding of the
presentation: a statement signed with the key the Issuer confirmed, bound to
this request by <spanx style="verb">htm</spanx> and <spanx style="verb">htu</spanx>, to this Token by <spanx style="verb">ath</spanx>, and to the resource
server's challenge by <spanx style="verb">nonce</spanx> when the resource server supplies one. No
separate presentation object is created.</t>

<t>A resource server that supports DPoP requires no change to accept a Token.
It need not understand the Verifiable Credential properties in the payload
and ignores those it does not use.</t>

</section>
<section anchor="verifier"><name>To a Verifier</name>

<t>A Holder <bcp14>MAY</bcp14> present the same Token to a Verifier through a credential
presentation protocol such as <xref target="OpenID4VP"/>. How the Token is carried is
determined by that protocol; one way is to enclose it in a verifiable
presentation as an <spanx style="verb">EnvelopedVerifiableCredential</spanx> <xref target="VC-DATA-MODEL-2.0"/>.
Holder binding is provided by that protocol, with a presentation signed by
the Holder's key. The definition of a credential format identifier for use
with <xref target="OpenID4VP"/> is outside the scope of this document.</t>

<t>A Verifier processes the Token as it processes any verifiable credential
secured with JOSE <xref target="VC-JOSE-COSE"/>, and the Token is formed so that this
needs as little special handling as possible:</t>

<t><list style="symbols">
  <t>Signature. The Verifier verifies it with a key of an Issuer it trusts
(<xref target="keys"/>).</t>
  <t>Validity. <spanx style="verb">validUntil</spanx> is always present and never later than <spanx style="verb">exp</spanx>
(<xref target="claims"/>), so checking <spanx style="verb">validUntil</spanx>, <spanx style="verb">exp</spanx>, or both gives the same
result.</t>
  <t>Audience. Two audiences are involved. The audience and nonce of the
presentation are set in the exchange between the Holder and the Verifier,
and are checked as the presentation protocol specifies. The <spanx style="verb">aud</spanx> of the
Token is set by the Issuer and cannot be changed by the Holder or by that
exchange. The Verifier checks it as any recipient of a JWT does, and
rejects the Token if <spanx style="verb">aud</spanx> is not an identifier the Verifier expects for
itself (<xref section="4.1.3" sectionFormat="of" target="RFC7519"/>).</t>
  <t>Holder binding. The presentation is signed by the Holder's key. The
Verifier identifies that key from <spanx style="verb">cnf</spanx>, as <xref target="VC-JOSE-COSE"/> allows, or
from <spanx style="verb">credentialSubject.id</spanx> where that identifier yields the key
(<xref target="claims"/>). Where <spanx style="verb">cnf</spanx> contains only <spanx style="verb">jkt</spanx>, the comparison is by JWK
SHA-256 Thumbprint <xref target="RFC7638"/>.</t>
  <t>Status. Checked if the deployment requires Verifiers to do so
(<xref target="status"/>).</t>
</list></t>

<t>The point at which a Verifier may need to do something it does not do for
other credentials is <spanx style="verb">typ</spanx>. <xref target="VC-JOSE-COSE"/> recommends <spanx style="verb">vc+jwt</spanx> and does
not require it, so a Verifier that does not enforce the recommendation needs
no change. A Verifier that does enforce it needs an exception that accepts
<spanx style="verb">at+jwt</spanx> when <spanx style="verb">cty</spanx> is <spanx style="verb">vc</spanx>.</t>

<t>Whatever its handling of <spanx style="verb">typ</spanx>, a Verifier <bcp14>MUST NOT</bcp14> treat as a Verifiable
Credential a JWT access token that lacks <spanx style="verb">cty</spanx> <spanx style="verb">vc</spanx> or does not satisfy
<xref target="tab-vc"/>.</t>

<section anchor="aud-verifier"><name>Obtaining a Token for a Verifier</name>

<t>Because of the audience check, a Token is presented only to the Verifier
named in its <spanx style="verb">aud</spanx>. If the Verifier is the resource server the Token was
issued for, the same Token is presented. For another Verifier, the Holder
obtains a Token whose <spanx style="verb">aud</spanx> is that Verifier (<xref target="audience"/>), by requesting
one with the Verifier's identifier as the <spanx style="verb">resource</spanx> value <xref target="RFC8707"/>. This
requires that the authorization server know the Verifier as a protected
resource it can name as an audience.</t>

<t>A Verifier in a credential presentation protocol is not necessarily such a
party; in <xref target="OpenID4VP"/> it is an OAuth client, identified by a client
identifier. Presentation to a Verifier that the authorization server cannot
name as an audience is outside the scope of this document (<xref target="open"/>).</t>

</section>
</section>
</section>
<section anchor="security"><name>Security Considerations</name>

<section anchor="live"><name>A Live Access Token Is Shown to a Verifier</name>

<t>Presenting the Token to a Verifier discloses a valid access token to that
Verifier. Encrypting the Token does not change this, since the Verifier has
to read the Token in order to verify it.</t>

<t>The single audience addresses it (<xref target="audience"/>). A Token names one protected
resource, and a Verifier accepts only a Token that names the Verifier
(<xref target="verifier"/>). What a Verifier is shown is therefore a token that is valid
only at itself, which is what any resource server is shown, and it is of no
use anywhere else. Sender-constraining (<xref target="sender"/>) adds to this: even at the
resource it names, the Token cannot be used without the Holder's key.</t>

</section>
<section anchor="sender"><name>Sender-Constraining</name>

<t>The Token is a credential bound to its holder only because of <spanx style="verb">cnf</spanx> and a
proof of possession. Without them, anyone who obtained the Token could
present it. Sender-constraining is therefore a condition of this profile, not
an option:</t>

<t><list style="symbols">
  <t>An authorization server <bcp14>MUST NOT</bcp14> issue a Token that is not DPoP-bound.</t>
  <t>A resource server that accepts Tokens <bcp14>MUST NOT</bcp14> accept one presented with
the <spanx style="verb">Bearer</spanx> scheme. <xref section="7.2" sectionFormat="of" target="RFC9449"/> already requires this of a
resource server that supports both schemes.</t>
  <t>An authorization server <bcp14>MUST NOT</bcp14> issue a Token for a resource server that
does not enforce DPoP. As <xref section="7.2" sectionFormat="of" target="RFC9449"/> observes, a resource
server that is unaware of DPoP would most likely accept a DPoP-bound token
as a bearer token.</t>
</list></t>

</section>
<section anchor="replay"><name>Replay</name>

<t>Replay of a DPoP proof is limited as in <xref target="RFC9449"/>. Resource servers <bcp14>SHOULD</bcp14>
supply a nonce as described in <xref section="9" sectionFormat="of" target="RFC9449"/>. Without one, replay
protection rests on <spanx style="verb">iat</spanx> and <spanx style="verb">jti</spanx> of the proof.</t>

</section>
<section anchor="token-confusion"><name>Token Confusion</name>

<t>The same object is an access token to a resource server and a credential to
a Verifier. The <spanx style="verb">cty</spanx> and payload check in <xref target="verifier"/> keeps an ordinary
access token from being taken for a credential. In the other direction, a resource
server is unaffected: a Token is a valid <xref target="RFC9068"/> access token, and is
issued only by an authorization server the resource server already trusts.</t>

</section>
<section anchor="lifetime"><name>Lifetime</name>

<t>The credential's validity never exceeds the access token's. <spanx style="verb">validUntil</spanx>
cannot be later than <spanx style="verb">exp</spanx> (<xref target="claims"/>), and status information cannot extend
either (<xref target="status"/>).</t>

</section>
<section anchor="retrieval-of-external-resources"><name>Retrieval of External Resources</name>

<t>A status list URL taken from a Token and dereferenced as is gives an attacker
a way to make the recipient issue requests. A recipient <bcp14>SHOULD</bcp14> retrieve
status lists only from locations that a trusted Issuer has made known through
configuration. Documents referenced by <spanx style="verb">@context</spanx> are not retrieved
(<xref target="claims"/>).</t>

</section>
</section>
<section anchor="privacy-considerations"><name>Privacy Considerations</name>

<t>A Token is presented whole, so every claim is visible to its recipient. An
Issuer <bcp14>SHOULD</bcp14> include only claims that the recipient may see, and no more
personal data than it would put in an access token. Credentials that describe
a natural person in detail, and that need selective disclosure or the
person's consent at presentation time, belong in a wallet and in a
presentation protocol designed for them, not in this profile.</t>

<t><xref section="6" sectionFormat="of" target="RFC9068"/> states that a client <bcp14>MUST NOT</bcp14> inspect the content of
an access token, because the authorization server and the resource server may
change the token format at any time. This profile does not require a client
to do so. On both presentation paths the client handles the Token as an
opaque string: it computes a hash of it for the DPoP proof, or encloses it in
a presentation. A client learns that the tokens it receives conform to this
profile from deployment configuration, not from parsing them. As
<xref target="RFC9068"/> also notes, the content of an unencrypted token is visible to the
client, and an authorization server takes that into account when it chooses
what to include.</t>

</section>
<section anchor="iana-considerations"><name>IANA Considerations</name>

<t>This document has no IANA actions.</t>

</section>


  </middle>

  <back>


<references title='References' anchor="sec-combined-references">

    <references title='Normative References' anchor="sec-normative-references">



<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>

<reference anchor="RFC7515">
  <front>
    <title>JSON Web Signature (JWS)</title>
    <author fullname="M. Jones" initials="M." surname="Jones"/>
    <author fullname="J. Bradley" initials="J." surname="Bradley"/>
    <author fullname="N. Sakimura" initials="N." surname="Sakimura"/>
    <date month="May" year="2015"/>
    <abstract>
      <t>JSON Web Signature (JWS) represents content secured with digital signatures or Message Authentication Codes (MACs) using JSON-based data structures. Cryptographic algorithms and identifiers for use with this specification are described in the separate JSON Web Algorithms (JWA) specification and an IANA registry defined by that specification. Related encryption capabilities are described in the separate JSON Web Encryption (JWE) specification.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="7515"/>
  <seriesInfo name="DOI" value="10.17487/RFC7515"/>
</reference>

<reference anchor="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="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="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="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="RFC9068">
  <front>
    <title>JSON Web Token (JWT) Profile for OAuth 2.0 Access Tokens</title>
    <author fullname="V. Bertocci" initials="V." surname="Bertocci"/>
    <date month="October" year="2021"/>
    <abstract>
      <t>This specification defines a profile for issuing OAuth 2.0 access tokens in JSON Web Token (JWT) format. Authorization servers and resource servers from different vendors can leverage this profile to issue and consume access tokens in an interoperable manner.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="9068"/>
  <seriesInfo name="DOI" value="10.17487/RFC9068"/>
</reference>

<reference anchor="RFC9449">
  <front>
    <title>OAuth 2.0 Demonstrating Proof of Possession (DPoP)</title>
    <author fullname="D. Fett" initials="D." surname="Fett"/>
    <author fullname="B. Campbell" initials="B." surname="Campbell"/>
    <author fullname="J. Bradley" initials="J." surname="Bradley"/>
    <author fullname="T. Lodderstedt" initials="T." surname="Lodderstedt"/>
    <author fullname="M. Jones" initials="M." surname="Jones"/>
    <author fullname="D. Waite" initials="D." surname="Waite"/>
    <date month="September" year="2023"/>
    <abstract>
      <t>This document describes a mechanism for sender-constraining OAuth 2.0 tokens via a proof-of-possession mechanism on the application level. This mechanism allows for the detection of replay attacks with access and refresh tokens.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="9449"/>
  <seriesInfo name="DOI" value="10.17487/RFC9449"/>
</reference>


<reference anchor="VC-DATA-MODEL-2.0" target="https://www.w3.org/TR/vc-data-model-2.0/">
  <front>
    <title>Verifiable Credentials Data Model v2.0</title>
    <author >
      <organization>W3C</organization>
    </author>
    <date year="2025" month="May" day="15"/>
  </front>
</reference>
<reference anchor="VC-JOSE-COSE" target="https://www.w3.org/TR/vc-jose-cose/">
  <front>
    <title>Securing Verifiable Credentials using JOSE and COSE</title>
    <author >
      <organization>W3C</organization>
    </author>
    <date year="2025" month="May" day="15"/>
  </front>
</reference>


    </references>

    <references title='Informative References' anchor="sec-informative-references">



<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="I-D.ietf-oauth-status-list">
   <front>
      <title>Token Status List (TSL)</title>
      <author fullname="Tobias Looker" initials="T." surname="Looker">
         <organization>MATTR</organization>
      </author>
      <author fullname="Paul Bastian" initials="P." surname="Bastian">
         <organization>Bundesdruckerei</organization>
      </author>
      <author fullname="Christian Bormann" initials="C." surname="Bormann">
         <organization>SPRIND</organization>
      </author>
      <date day="21" month="June" year="2026"/>
      <abstract>
	 <t>   This specification defines a status mechanism called Token Status
   List (TSL), data structures and processing rules for representing the
   status of tokens secured by JSON Object Signing and Encryption (JOSE)
   or CBOR Object Signing and Encryption (COSE), such as JWT, SD-JWT,
   CBOR Web Token, and ISO mdoc.  It also defines an extension point and
   a registry for future status mechanisms.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-ietf-oauth-status-list-21"/>
   
</reference>


<reference anchor="I-D.ambekar-oauth-epop">
   <front>
      <title>JSON Web Token (JWT) Profile for OAuth 2.0 Enveloped Proof of Possession (EPOP)</title>
      <author fullname="Ashwin Ambekar" initials="A." surname="Ambekar">
         <organization>eBay</organization>
      </author>
      <date day="23" month="July" year="2026"/>
      <abstract>
	 <t>   This specification defines a profile for OAuth 2.0 sender-constrained
   credentials in which access tokens and refresh tokens are
   cryptographically bound to the client&#x27;s private key as a single
   inseparable envelope.  Authorization code flows are also covered: the
   client declares its public key binding via cnf.jkt in the EPOP token
   presented at the token endpoint, ensuring the authorization code can
   only be exchanged by the key-holding client; the code itself travels
   as the standard code form parameter.  Unlike existing mechanisms,
   EPOP provides proof-of-possession uniformly across both JWT and
   opaque access tokens, and across HTTP and non-HTTP transports.  The
   profile extends sender-constraining beyond HTTP to non-HTTP
   transports including MQTT, Kafka, the Model Context Protocol (MCP),
   gRPC, and SASL-based protocols such as those defined in [RFC7628].
   It introduces atomic proof-of-possession key rotation, enabling
   clients to rotate key pairs without disrupting active sessions, and
   an offline-derived client nonce (cnonce) that eliminates the server-
   issued nonce round-trip required by existing mechanisms — enabling
   stateless proof validation critical for non-HTTP and high-throughput
   deployments.  Authorization servers, resource servers, and clients
   from different vendors can implement this profile interoperably.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-ambekar-oauth-epop-03"/>
   
</reference>


<reference anchor="VC-BITSTRING-STATUS-LIST" target="https://www.w3.org/TR/vc-bitstring-status-list/">
  <front>
    <title>Bitstring Status List v1.0</title>
    <author >
      <organization>W3C</organization>
    </author>
    <date year="2025" month="May" day="15"/>
  </front>
</reference>
<reference anchor="OpenID4VP" target="https://openid.net/specs/openid-4-verifiable-presentations-1_0.html">
  <front>
    <title>OpenID for Verifiable Presentations 1.0</title>
    <author >
      <organization>OpenID Foundation</organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>
<reference anchor="MCP.Authorization" target="https://modelcontextprotocol.io/specification/2025-11-25/basic/authorization">
  <front>
    <title>Model Context Protocol Specification: Authorization</title>
    <author >
      <organization>Model Context Protocol</organization>
    </author>
    <date year="2025" month="November" day="25"/>
  </front>
</reference>


    </references>

</references>


<?line 536?>

<section anchor="example"><name>Example</name>

<t>Header:</t>

<figure><sourcecode type="json"><![CDATA[
{
  "alg": "ES256",
  "typ": "at+jwt",
  "cty": "vc",
  "kid": "as-key-1"
}
]]></sourcecode></figure>

<t>Payload:</t>

<figure><sourcecode type="json"><![CDATA[
{
  "@context": ["https://www.w3.org/ns/credentials/v2"],
  "type": ["VerifiableCredential"],
  "issuer": "https://as.example.com",
  "validUntil": "2026-09-29T01:00:00Z",
  "credentialSubject": {
    "id": "https://as.example.com/users/alice"
  },
  "iss": "https://as.example.com",
  "sub": "https://as.example.com/users/alice",
  "aud": "https://tools.example.com",
  "client_id": "agent-7f3a",
  "scope": "files:read",
  "iat": 1790640000,
  "exp": 1790643600,
  "jti": "urn:uuid:3b1c9f2e-7a41-4d0e-9c55-1f0a2b6d8e71",
  "id": "urn:uuid:3b1c9f2e-7a41-4d0e-9c55-1f0a2b6d8e71",
  "cnf": {
    "jkt": "0ZcOCORZNYy-DWpqq30jZyJGHTN0d2HglBV3uiguA4I"
  }
}
]]></sourcecode></figure>

<t>Presentation to the resource server:</t>

<figure><sourcecode type="http-message"><![CDATA[
POST /mcp HTTP/1.1
Host: tools.example.com
Authorization: DPoP eyJhbGciOiJFUzI1NiIsInR5cCI6ImF0K2p3dCIsImN0...
DPoP: eyJhbGciOiJFUzI1NiIsInR5cCI6ImRwb3Arand0IiwiandrIjp7Imt0...
]]></sourcecode></figure>

</section>
<section anchor="open"><name>Open Issues</name>

<t><list style="symbols">
  <t>Whether Verifiable Credential verifiers will accept <spanx style="verb">typ</spanx> <spanx style="verb">at+jwt</spanx> with
<spanx style="verb">cty</spanx> <spanx style="verb">vc</spanx>. Input from the W3C community is needed.</t>
  <t>A credential format identifier for <xref target="OpenID4VP"/>, to be defined elsewhere.</t>
  <t>Presentation to a Verifier that the authorization server cannot name as
an audience, such as an <xref target="OpenID4VP"/> verifier known only by a client
identifier (<xref target="aud-verifier"/>).</t>
</list></t>

</section>
<section anchor="document-history"><name>Document History</name>

<t>-02</t>

<t><list style="symbols">
  <t>Changed the approach. The object presented to a resource
server is now an <xref target="RFC9068"/> access token issued by the authorization
server, with a single <spanx style="verb">aud</spanx> value set by the Issuer. Presentation of
credentials that are not access tokens was removed.</t>
  <t>The Token is at the same time a W3C Verifiable Credential secured with
JOSE. SD-JWT and selective disclosure are no longer discussed.</t>
  <t>Title changed to match. Intended status changed to Informational.</t>
</list></t>

<t>-01</t>

<t><list style="symbols">
  <t>Editorial corrections only.</t>
</list></t>

<t>-00</t>

<t><list style="symbols">
  <t>Initial version.</t>
</list></t>

</section>
<section numbered="false" anchor="acknowledgments"><name>Acknowledgments</name>

<t>This version owes its direction to the discussion of -00 and -01 on the OAuth
working group mailing list.</t>

<t>The author is especially indebted to Warren Parad, who engaged with the
earlier versions over many exchanges with patience and care. His questions
led the author to reconsider what this document should define, and it would
not have taken its present form without them.</t>

<t>Yaron Zehavi's review of the credential presentation model informed that
reconsideration, and his advice on audience handling informed <xref target="audience"/>.</t>

<t>Ashwin Ambekar pointed the author to EPOP.</t>

<t>Errors and remaining disagreements are the author's own.</t>

</section>


  </back>

<!-- ##markdown-source:
H4sIAAAAAAAAA7Vd6XYbx5X+X09RA/1I7AHATSudjSYlC44kakTaOnZOTljo
LhAtAt1Id4MwQinPMs8yTzZ3q63RlDxLfBIRbFTXcusu312qOBqNVFu0C3us
B9+/v9QnWWabRl9WN7ZstGn0+6NT/aOti1lhpgurT2ub27ItzKIZKDOd1vYW
3tx568dT+Dozrb2u6u2xLspZpVReZaVZwkh5bWbtaGHtqDLrdj7KV9VqlPme
R6vaNvDRtEVVjvYPVbOeLoumgd/a7Qrenzy/fKGKVX2s23rdtIf7+8+gVble
Tm19rHIY9lhlVQl9NOuGGlkF0zxSprYGpnths3VdtNuB2lT1zXVdrVfw9L2d
6hOYTlUX/6Ch9du6aqusWgzUjd1C0/xY6ZE2vNgWF4u/3wbqhDXgF2dvq7f4
E1ZTrevM6sbW0BgfnUy0uYaWjbq15Rqmq/WvmYbWTIDBe5h3UV7r7/AlfL40
xQKeEz3/VNh2Nq7qa/zC1Nkcvpi37ao53tvDdviouLVj12wPH+xN62rT2D3q
YW+glKE54IqhFw1bCJS8GOsXY/3KWno0Wy8WvKEX69F8a2GqL6q6taVvYXla
ZVHa/YPDw6M/lQYIMM6qpVJlVS9hfbe0+HcvTg8PDp7Jx6cHTx7KxyePDh6F
j67Bk8dHT93Hp/v77rUnh67ts/3HrsGzhw/ptR9PR2cnlyej1+dnz1+NDsf0
FhBUmL+fx/WZaY1+XeV2oW/hnQG940lD/4000PAYBYUeEPvpw/3DR6P9R6OD
RzyKqa9te6zdNmw2m/HmiIh/+W7vNhvBW2a0xHFwans83+/PL56PTuGfdKrM
vrD798x53eCX+LI2Za6xg3/ZvD9UjR1l8M+eUijl6Z4+fXjgNvLp42dHfp/2
n+DHyeiMeFC0QAMCv25Gi6Jp3bcGJPrG1NLAgpqQnfx2cnlx+W7y5rvRxeXJ
5Q8Xo1eTi8uUSt8WbdMSmS6oY/0KOta3B//CTZy6IeO14F6er2w5OXv449t0
ivxYA9XirXwbab9Gf36+0sOLal3m9ELvRCtoVeTj0rZ7zcpmjTwYPRwF3ZUo
3WZ08Lf98bxdgh7Tr0/fjhOFlC6CheMUdLP9pfW6Sl/AQNB1xm+kGu0zC+rv
rbsnBwejw/49IRHK+PWVvD0uKlq3n85e6GRvapoi2zPx9JQajUDNT2EvTdYq
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

-->

</rfc>

