<?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-03" 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 that the authorization server
can name as the token's audience can process the same object as a Verifiable
Credential.</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 95?>

<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 through a credential presentation protocol, to a
verifier that is named as the token's audience (<xref target="verifier"/>).</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, identified in the token by <spanx style="verb">client_id</spanx>.
The client holds the key the token is bound to, as an AI agent or other
software client does (<xref target="holder-key"/>). 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><xref section="5.2" sectionFormat="of" target="RFC7519"/> does not recommend <spanx style="verb">cty</spanx> in a JWT that is not
nested. This profile uses it nonetheless, because <spanx style="verb">typ</spanx> is taken by the
access token media type and <spanx style="verb">cty</spanx> is the only other place in the header
where the content can be identified. A recipient that does not understand
the value ignores it; only the value <spanx style="verb">JWT</spanx> has a defined effect on JWT
processing.</t>

<t>Because <spanx style="verb">vc+jwt</spanx> is a recommendation, a Verifier that does not enforce it
needs no change on account of <spanx style="verb">typ</spanx>. 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, which is the Holder (<xref target="holder-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>. That context defines <spanx style="verb">iss</spanx>, <spanx style="verb">sub</spanx>,
<spanx style="verb">aud</spanx>, <spanx style="verb">exp</spanx>, <spanx style="verb">iat</spanx> and <spanx style="verb">cnf</spanx>, but not <spanx style="verb">client_id</spanx>, <spanx style="verb">jti</spanx>, <spanx style="verb">scope</spanx>, or the
<spanx style="verb">jkt</spanx> member of <spanx style="verb">cnf</spanx>. Section 5.2 of <xref target="VC-DATA-MODEL-2.0"/> requires a
document that uses terms its contexts do not define to say so. A Token
therefore <bcp14>MUST</bcp14> either include a context that defines those terms, or include
<spanx style="verb">https://www.w3.org/ns/credentials/undefined-terms/v2</spanx> as the last value of
<spanx style="verb">@context</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>

<section anchor="holder-key"><name>The Holder and Its Key</name>

<t><spanx style="verb">sub</spanx> identifies the subject of the claims, for example the user. <spanx style="verb">client_id</spanx>
identifies the Holder, for example the agent. The two differ whenever a
client acts on behalf of a user, and a recipient <bcp14>MUST NOT</bcp14> assume that the
party identified by <spanx style="verb">sub</spanx> is the Holder.</t>

<t><spanx style="verb">cnf</spanx> confirms the Holder's key. It is the key the client demonstrated with
a DPoP proof in the token request (<xref section="5" sectionFormat="of" target="RFC9449"/>). This is the
binding that Section 4.1.3 of <xref target="VC-JOSE-COSE"/> recommends, in which the
credential is bound to a proof-of-possession key that the Holder provided to
the Issuer. The key need not be published or long-lived. It has to remain
available to the Holder only for the lifetime of the Token. A client can use
a new key for each Token, unless it obtains Tokens with a refresh token that
is itself bound to a DPoP key, as <xref section="5" sectionFormat="of" target="RFC9449"/> requires for
public clients; such a client uses that key for as long as it uses the
refresh token.</t>

<t>The authorization server associates that key with <spanx style="verb">client_id</spanx> through the
client authentication performed in the same token request. How it
authenticates the client is out of scope (<xref target="applicability"/>). As
<xref section="11.11" sectionFormat="of" target="RFC9449"/> notes, that association is not a cryptographic
one. A deployment that needs one can have the client's authentication
credential confirm the DPoP key, for example with a client assertion that
carries the key's thumbprint.</t>

<t>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 the Holder's 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. This option implies that the key is a
long-term one and that the Holder uses it for DPoP.</t>

</section>
<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 (<xref target="holder-key"/>): 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>

<t>The security considerations of <xref target="RFC9068"/> and <xref target="RFC9449"/> apply. In
particular, DPoP protects a Token that has leaked; it does not protect one
whose Holder is compromised. As <xref section="11.4" sectionFormat="of" target="RFC9449"/> describes, an
attacker able to run code in the client can use the Holder's key, whether or
not the key can be exported.</t>

<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
is limited only by the period for which a resource server accepts a proof's
<spanx style="verb">iat</spanx>, and by <spanx style="verb">jti</spanx> where the resource server tracks it.</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 582?>

<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",
    "https://www.w3.org/ns/credentials/undefined-terms/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>The Verifiable Credentials context defines <spanx style="verb">jwk</spanx> and <spanx style="verb">kid</spanx> as members of
<spanx style="verb">cnf</spanx>, but not <spanx style="verb">jkt</spanx>. Whether a Token should also carry <spanx style="verb">cnf.jwk</spanx> for the
benefit of Verifiers.</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>-03</t>

<t><list style="symbols">
  <t><spanx style="verb">@context</spanx>: a Token carries claims that the Verifiable Credentials context
does not define, and now has to declare that as <xref target="VC-DATA-MODEL-2.0"/>
requires. The example in -02 did not.</t>
  <t>The Holder is the client identified by <spanx style="verb">client_id</spanx>. A statement in -02 that
a recipient must not assume this was wrong and is removed; the caution
applies to <spanx style="verb">sub</spanx> only. Added what the Holder's key is, how long it has to
live, and how it is associated with the client (<xref target="holder-key"/>).</t>
  <t>The abstract no longer says that any verifier can process a Token; the
Verifier has to be named as its audience.</t>
  <t>Stated that the security considerations of RFC 9068 and RFC 9449 apply.</t>
  <t>Acknowledged that RFC 7519 does not recommend <spanx style="verb">cty</spanx> outside nested JWTs.</t>
</list></t>

<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:
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
EMGJgVDoFmho8B7e5eY/E/VfsrVOJxN2AAA=

-->

</rfc>

