<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.27 (Ruby 3.3.6) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-lombardo-oauth-client-extension-claims-00" category="info" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.28.1 -->
  <front>
    <title abbrev="TODO - Abbreviation">OAuth 2.0 client extension claims</title>
    <seriesInfo name="Internet-Draft" value="draft-lombardo-oauth-client-extension-claims-00"/>
    <author fullname="Jean-François &quot;Jeff&quot; Lombardo">
      <organization>AWS</organization>
      <address>
        <postal>
          <country>Canada</country>
        </postal>
        <email>jeffsec@amazon.com</email>
      </address>
    </author>
    <author fullname="Alexandre Babeanu">
      <organization>IndyKite</organization>
      <address>
        <postal>
          <country>Canada</country>
        </postal>
        <email>alex.babeanu@indykite.com</email>
      </address>
    </author>
    <date year="2025" month="April" day="11"/>
    <area/>
    <workgroup>Web Authorization Protocol</workgroup>
    <keyword>security</keyword>
    <keyword>trust</keyword>
    <abstract>
      <?line 83?>

<t>This specification defines new claims for JWT profiled access tokens <xref target="RFC9068"/> so that resource providers can benefit from more granular information about the client to make better informed access decisions. The proposed new claims include: the client authentication methods, the client OAuth grant flow used as well as the OAuth grant flow extensions used as part of the issuance of the associated tokens.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://identitymonk.github.io/draft-lombardo-oauth-client-extension-claims/draft-lombardo-oauth-client-extension-claims.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-lombardo-oauth-client-extension-claims/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        Web Authorization Protocol  mailing list (<eref target="mailto:oauth@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/oauth/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/oauth/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/identitymonk/draft-lombardo-oauth-client-extension-claims"/>.</t>
    </note>
  </front>
  <middle>
    <?line 87?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>Resource providers need information about the subject, the action, the resource, and the context involved in the request in order to be able to determine properly if a resource can be disclosed. This decision may also involve the help of a Policy Decision Point (PDP).</t>
      <t>When accessed with a JWT profiled OAuth2 Access Token <xref target="RFC9068"/> presented as a bearer token <xref target="RFC6750"/>, a Resource Server (RS) receives information about the subject as claims, such as:
- The subject,  <tt>sub</tt>,
- Any user profile claim set by the Authorization Server if applicable,
- Authenticaton Information claims like the user class of authentication (<tt>acr</tt>claim) or user methord of authentication (claim <tt>amr</tt> <xref target="RFC8176"/>)
- Any Authorization Information if applicable</t>
      <t>On the other hand, the RS has very little information about the client, often only a <tt>client_id</tt> <xref target="RFC8693"/> claim. In particular, the RS lacks any insight about the type of authorization grant flow that the client itself went through, the level of assurance that the client itself may have reached during its own authentication, and in general, lacks any information that would enable it to determine if the client itself can be trusted at all.</t>
      <t>This document defines 4 new claims for the JWT profile of OAuth access tokens, which describe in detail the interaction between the OAuth client and the Authorization Server (AS) during the flow that resulted in the issuance of the token.</t>
      <t>The process by which the client interacts with the authorization server is out of scope.</t>
    </section>
    <section anchor="conventions-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?>

<dl>
        <dt><em>JWT access token</em>:</dt>
        <dd>
          <t>An OAuth 2.0 access token encoded in JWT format and complying with the requirements described in <xref target="RFC9068"/>.</t>
        </dd>
      </dl>
      <t>This specification uses the terms "access token", "authorization server", "authorization endpoint", "authorization request", "client", "protected resource", and "resource server" defined by "The OAuth 2.0 Authorization Framework" <xref target="RFC6749"/>.</t>
    </section>
    <section anchor="client-ext-data-structure">
      <name>JWT Access Token Client Extensions Data Structure</name>
      <t>The following claims extend the <xref target="RFC9068"/> access token payload data structure:</t>
      <section anchor="client-flow-info">
        <name>Client Flow Information Claims</name>
        <t>The claims listed below reflect the grant type and extensions used by the OAuth client with the Authorization Server during the authorization request. Their values are generated dynamically and consistent across all the tokens generated for the given authorization request.</t>
        <dl>
          <dt><tt>gty</tt>:</dt>
          <dd>
            <t><em><bcp14>REQUIRED</bcp14></em> - a string that describes the OAuth2 authorization grant type the client requested for the issuance of the access token. The value used as the <tt>gty</tt> claim <bcp14>MUST</bcp14> comply to existing grant flows described in the following specifications:  section 1.3 of <xref target="RFC6749"/>, section 2. of <xref target="RFC7591"/>, section 2.1 of <xref target="RFC8693"/>, and section 4 of <xref target="OpenID.CIBA"/>. Furthermore since future grants may also be developped, this claim is not limited to existing flows, but should also encompass future innovations. The possible values of this claim are registered with IANA (see below). Non-normative example value: "<tt>client_credentials</tt>".</t>
          </dd>
          <dt><tt>cxt</tt>:</dt>
          <dd>
            <t><em><bcp14>REQUIRED</bcp14></em> - defines the list of extensions the client used in conjonction with the OAuth2 authorization grant type used for the issuance of the access token. For example but not limited to: Proof Key for Code Exchange by OAuth Public Clients (or PKCE) as defined in <xref target="RFC7636"/>, Demonstrating Proof of Possession (or DPoP) as defined in <xref target="RFC9449"/>. The claim value is an array of strings that lists the identifiers of extensions used. Values used in the <tt>cxt</tt> Claim <bcp14>MUST</bcp14> be valid values registered with the IANA OAuth Parameters registry @TODO. These values reference, without being limited to, values established through section 2 of <xref target="RFC8414"/>, and Section 5.1 of <xref target="RFC9449"/>. Non-normative example: "<tt>[dpop,pkce]</tt>".</t>
          </dd>
        </dl>
      </section>
      <section anchor="client-authn-info">
        <name>Client Authentication Information Claims</name>
        <t>The claims listed in this section <bcp14>MAY</bcp14> be issued and reflect strength of the mechanism used to authenticate the OAuth2 Client client itself as part of the  access token issuance flow. Their values are fixed and remain the same across all access tokens that derive from a given authorization response, whether the access token was obtained directly in the response (e.g., via the implicit flow) or after obtaining a new access token using a refresh token. Those values may change if an access token is exchanged for another through the Token Exchange <xref target="RFC8693"/> procedure, in that case these claims will reflect the details of this new request.</t>
        <dl>
          <dt><tt>ccr</tt>:</dt>
          <dd>
            <t><em><bcp14>OPTIONAL</bcp14></em> - refers to the authentication context class that the Oauth client achieved with the AS during the authorization flow. The value of this claim must be an absolute URI that can be registered with IANA. It should support present, future or custom values. If IANA registered URIs are used, then their meaning and semantics should be respected and used as defined in the registry. Parties using this custom claim values need to agree upon the semantics of the values used, which may be context specific. Non-normative example: "<tt>urn:org:iana:client:assurance:level_1</tt>".</t>
          </dd>
          <dt><tt>cmr</tt>:</dt>
          <dd>
            <t><em><bcp14>OPTIONAL</bcp14></em> - an Identifier String that defines the authentication methods the client used when authenticating to the authorization server. The claim may indicate the usage of private JWT as defined in <xref target="RFC7521"/> and <xref target="RFC7523"/> or HTTP message signature as defined in <xref target="RFC9421"/>, or simple client secret as defined in <xref target="RFC6749"/> . The <tt>cmr</tt> value is a case-sensitive string, which values <bcp14>SHOULD</bcp14> be registered with the IANA OAuth Token Endpoint Authentication Methods Values registry <xref target="IANA.oauth-parameters_token-endpoint-auth-method"/> defined by <xref target="RFC7591"/>; parties using this claim will need to agree upon the meanings of any unregistered values used, which may be context specific.</t>
          </dd>
        </dl>
      </section>
    </section>
    <section anchor="as-metadata">
      <name>Authorization Server Metadata</name>
      <t>Not all Authorizartion Servers (AS) may support the claims described in this specification. It is therefore necessary to provide a way for an OAuth Resource Server to determine whether it can rely on the claims described here. This document therefore extends the OAuth2.0 Authorization Server Metadata <xref target="RFC8414"/> specification by adding the following metadata value :</t>
      <dl>
        <dt><tt>support_client_extentison_claims</tt>:</dt>
        <dd>
          <t>Boolean parameter indicating whether the authorization server will return the extension claims described in this RFC.</t>
        </dd>
      </dl>
      <t>Note that the non presence of <tt>support_client_extentison_claims</tt> is sufficient for the client to determine that the server is not capable and therefore will not return the extension claimns described in this RFC. This ensures backward compatibility with all existing AS implementations.</t>
    </section>
    <section anchor="request-jwt-client-ext">
      <name>Requesting a JWT Access Token with Client Extensions</name>
      <t>An authorization server supporting the claims described in this document <bcp14>MUST</bcp14> issue a JWT access token with client extensions claims described in this RFC in response to any authorization grant defined by <xref target="RFC6749"/>, as well as subsequent extensions meant to result in an access token.</t>
    </section>
    <section anchor="validate-jwt-client-ext">
      <name>Validating JWT Access Tokens with Client Extensions</name>
      <t>This specification does not change any of the requirements for validating access tokens, as defined in section 4 of the JSON Web Token (JWT) Profile for OAuth 2.0 Access Tokens specification <xref target="RFC9068"/>.</t>
    </section>
    <section anchor="security">
      <name>Security Considerations</name>
      <t>The JWT access token data layout described here is the same as the struture of the JWT access token as defined by the JSON Web Token (JWT) Profile for OAuth 2.0 Access Tokens specification <xref target="RFC9068"/>.</t>
      <t>The Best Current Practice for OAuth 2.0 Security <xref target="RFC9700"/> is still applicable.</t>
    </section>
    <section anchor="iana">
      <name>IANA Considerations</name>
      <section anchor="iana-grant-type-reg">
        <name>OAuth Grant Type Registration</name>
        <t>This specification registers the following grant type in the <xref target="IANA.oauth-parameters"/> OAuth Grant Type registry.</t>
        <section anchor="iana-grant-type-reg-ac">
          <name><tt>authorization_code</tt> grant type</name>
          <dl>
            <dt>Type name:</dt>
            <dd>
              <t><tt>authorization_code</tt></t>
            </dd>
            <dt>Change controller:</dt>
            <dd>
              <t>IETF</t>
            </dd>
            <dt>Specification document(s):</dt>
            <dd>
              <t>section 2. of <xref target="RFC7591"/></t>
            </dd>
          </dl>
        </section>
        <section anchor="iana-grant-type-implicit">
          <name><tt>implicit</tt> grant type</name>
          <dl>
            <dt>Type name:</dt>
            <dd>
              <t><tt>implicit</tt></t>
            </dd>
            <dt>Change controller:</dt>
            <dd>
              <t>IETF</t>
            </dd>
            <dt>Specification document(s):</dt>
            <dd>
              <t>section 2. of <xref target="RFC7591"/></t>
            </dd>
          </dl>
        </section>
        <section anchor="iana-grant-type-reg-pwd">
          <name><tt>password</tt> grant type</name>
          <dl>
            <dt>Type name:</dt>
            <dd>
              <t><tt>password</tt></t>
            </dd>
            <dt>Change controller:</dt>
            <dd>
              <t>IETF</t>
            </dd>
            <dt>Specification document(s):</dt>
            <dd>
              <t>section 2. of <xref target="RFC7591"/></t>
            </dd>
          </dl>
        </section>
        <section anchor="iana-grant-type-reg-cc">
          <name><tt>client_credentials</tt> grant type</name>
          <dl>
            <dt>Type name:</dt>
            <dd>
              <t><tt>client_credentials</tt></t>
            </dd>
            <dt>Change controller:</dt>
            <dd>
              <t>IETF</t>
            </dd>
            <dt>Specification document(s):</dt>
            <dd>
              <t>section 2. of <xref target="RFC7591"/></t>
            </dd>
          </dl>
        </section>
        <section anchor="iana-grant-type-rt">
          <name><tt>refresh_token</tt> grant type</name>
          <dl>
            <dt>Type name:</dt>
            <dd>
              <t><tt>refresh_token</tt></t>
            </dd>
            <dt>Change controller:</dt>
            <dd>
              <t>IETF</t>
            </dd>
            <dt>Specification document(s):</dt>
            <dd>
              <t>section 2. of <xref target="RFC7591"/></t>
            </dd>
          </dl>
        </section>
        <section anchor="iana-grant-type-jwt">
          <name><tt>jwt-bearer</tt> grant type</name>
          <dl>
            <dt>Type name:</dt>
            <dd>
              <t><tt>urn:ietf:params:oauth:grant-type:jwt-bearer</tt></t>
            </dd>
            <dt>Change controller:</dt>
            <dd>
              <t>IETF</t>
            </dd>
            <dt>Specification document(s):</dt>
            <dd>
              <t>section 2. of <xref target="RFC7591"/> and section 6 of <xref target="I-D.parecki-oauth-identity-assertion-authz-grant"/></t>
            </dd>
          </dl>
        </section>
        <section anchor="iana-grant-type-reg-saml2">
          <name><tt>saml2-bearer</tt> grant type</name>
          <dl>
            <dt>Type name:</dt>
            <dd>
              <t><tt>urn:ietf:params:oauth:grant-type:saml2-bearer</tt></t>
            </dd>
            <dt>Change controller:</dt>
            <dd>
              <t>IETF</t>
            </dd>
            <dt>Specification document(s):</dt>
            <dd>
              <t>section 2. of <xref target="RFC7591"/></t>
            </dd>
          </dl>
        </section>
        <section anchor="iana-grant-type-reg-te">
          <name><tt>token-exchange</tt> grant type</name>
          <dl>
            <dt>Type name:</dt>
            <dd>
              <t><tt>urn:ietf:params:oauth:grant-type:token-exchange</tt></t>
            </dd>
            <dt>Change controller:</dt>
            <dd>
              <t>IETF</t>
            </dd>
            <dt>Specification document(s):</dt>
            <dd>
              <t>section 2.1. of <xref target="RFC8693"/></t>
            </dd>
          </dl>
        </section>
        <section anchor="iana-grant-type-reg-dc">
          <name><tt>device_code</tt> grant type</name>
          <dl>
            <dt>Type name:</dt>
            <dd>
              <t><tt>urn:ietf:params:oauth:grant-type:device_code</tt></t>
            </dd>
            <dt>Change controller:</dt>
            <dd>
              <t>IETF</t>
            </dd>
            <dt>Specification document(s):</dt>
            <dd>
              <t>section 3.4. of <xref target="RFC8628"/></t>
            </dd>
          </dl>
        </section>
        <section anchor="iana-grant-type-reg-ciba">
          <name><tt>ciba</tt> grant type</name>
          <dl>
            <dt>Type name:</dt>
            <dd>
              <t><tt>urn:openid:params:grant-type:ciba</tt></t>
            </dd>
            <dt>Change controller:</dt>
            <dd>
              <t>IETF</t>
            </dd>
            <dt>Specification document(s):</dt>
            <dd>
              <t>section 4. of <xref target="OpenID.CIBA"/></t>
            </dd>
          </dl>
        </section>
      </section>
      <section anchor="iana-grant-ext-reg">
        <name>OAuth Grant Extension Type Registration</name>
        <t>This specification registers the following grant extension type in the <xref target="IANA.oauth-parameters"/> OAuth Grant Extension Type registry.</t>
        <section anchor="iana-grant-ext-reg-pkce">
          <name><tt>pkce</tt> grant extension type</name>
          <dl>
            <dt>Type name:</dt>
            <dd>
              <t><tt>pkce</tt></t>
            </dd>
            <dt>Change controller:</dt>
            <dd>
              <t>IETF</t>
            </dd>
            <dt>Specification document(s):</dt>
            <dd>
              <t>This RFC as a reference to <xref target="RFC7636"/></t>
            </dd>
          </dl>
        </section>
        <section anchor="iana-grant-ext-reg-dpop">
          <name><tt>dpop</tt> grant extension type</name>
          <dl>
            <dt>Type name:</dt>
            <dd>
              <t><tt>dpop</tt></t>
            </dd>
            <dt>Change controller:</dt>
            <dd>
              <t>IETF</t>
            </dd>
            <dt>Specification document(s):</dt>
            <dd>
              <t>This RFC as a reference to <xref target="RFC9449"/></t>
            </dd>
          </dl>
        </section>
        <section anchor="iana-grant-ext-reg-wpt">
          <name><tt>wpt</tt> grant extension type</name>
          <dl>
            <dt>Type name:</dt>
            <dd>
              <t><tt>wpt</tt></t>
            </dd>
            <dt>Change controller:</dt>
            <dd>
              <t>IETF</t>
            </dd>
            <dt>Specification document(s):</dt>
            <dd>
              <t>This RFC as a reference to section 4.2 of <xref target="I-D.ietf-wimse-s2s-protocol"/></t>
            </dd>
          </dl>
        </section>
        <section anchor="iana-grant-ext-rar">
          <name><tt>rar</tt> grant extension type</name>
          <dl>
            <dt>Type name:</dt>
            <dd>
              <t><tt>rar</tt></t>
            </dd>
            <dt>Change controller:</dt>
            <dd>
              <t>IETF</t>
            </dd>
            <dt>Specification document(s):</dt>
            <dd>
              <t>This RFC as a reference to <xref target="RFC9396"/></t>
            </dd>
          </dl>
        </section>
        <section anchor="iana-grant-ext-reg-par">
          <name><tt>par</tt> grant extension type</name>
          <dl>
            <dt>Type name:</dt>
            <dd>
              <t><tt>par</tt></t>
            </dd>
            <dt>Change controller:</dt>
            <dd>
              <t>IETF</t>
            </dd>
            <dt>Specification document(s):</dt>
            <dd>
              <t>This RFC as a reference to <xref target="RFC9126"/></t>
            </dd>
          </dl>
        </section>
        <section anchor="iana-grant-ext-reg-jar">
          <name><tt>jar</tt> grant extension type</name>
          <dl>
            <dt>Type name:</dt>
            <dd>
              <t><tt>jar</tt></t>
            </dd>
            <dt>Change controller:</dt>
            <dd>
              <t>IETF</t>
            </dd>
            <dt>Specification document(s):</dt>
            <dd>
              <t>This RFC as a reference to <xref target="RFC9101"/></t>
            </dd>
          </dl>
        </section>
      </section>
      <section anchor="iana-token-authn-reg">
        <name>OAuth Token Endpoint Authentication Methods Registration</name>
        <t>This specification registers additional token endpoint authentication methods in the <xref target="IANA.oauth-parameters"/> OAuth Token Endpoint Authentication Methods registry.</t>
        <section anchor="iana-token-authn-reg-jwt">
          <name><tt>jwt-bearer</tt> token endpoint authentication method</name>
          <dl>
            <dt>Type name:</dt>
            <dd>
              <t><tt>jwt-bearer</tt></t>
            </dd>
            <dt>Change controller:</dt>
            <dd>
              <t>IETF</t>
            </dd>
            <dt>Specification document(s):</dt>
            <dd>
              <t>This RFC as a reference to <xref target="RFC7591"/> and <xref target="I-D.parecki-oauth-identity-assertion-authz-grant"/></t>
            </dd>
          </dl>
        </section>
        <section anchor="iana-token-authn-reg-jwt-svid">
          <name><tt>jwt-svid</tt> token endpoint authentication method</name>
          <dl>
            <dt>Type name:</dt>
            <dd>
              <t><tt>jwt-svid</tt></t>
            </dd>
            <dt>Change controller:</dt>
            <dd>
              <t>IETF</t>
            </dd>
            <dt>Specification document(s):</dt>
            <dd>
              <t>This RFC as a reference to <eref target="https://github.com/spiffe/spiffe/blob/main/standards/JWT-SVID.md">SPIFFE JWT-SVID</eref></t>
            </dd>
          </dl>
        </section>
        <section anchor="iana-token-authn-reg-wit">
          <name><tt>wit</tt> token endpoint authentication method</name>
          <dl>
            <dt>Type name:</dt>
            <dd>
              <t><tt>wit</tt></t>
            </dd>
            <dt>Change controller:</dt>
            <dd>
              <t>IETF</t>
            </dd>
            <dt>Specification document(s):</dt>
            <dd>
              <t>This RFC as a reference to <xref target="I-D.ietf-wimse-s2s-protocol"/></t>
            </dd>
          </dl>
        </section>
        <section anchor="iana-token-authn-reg-txntoken">
          <name><tt>txn_token</tt> token endpoint authentication method</name>
          <dl>
            <dt>Type name:</dt>
            <dd>
              <t><tt>txn_token</tt></t>
            </dd>
            <dt>Change controller:</dt>
            <dd>
              <t>IETF</t>
            </dd>
            <dt>Specification document(s):</dt>
            <dd>
              <t>This RFC as a reference to <xref target="I-D.ietf-oauth-transaction-tokens"/></t>
            </dd>
          </dl>
        </section>
      </section>
      <section anchor="iana-claims-reg">
        <name>Claims Registration</name>
        <t>Section X.Y of this specification refers to the attributes <tt>gty</tt>, <tt>cxt</tt>, <tt>ccr</tt>, and <tt>cmr</tt> to express client metadata JWT access tokens. This section registers those attributes as claims in the <xref target="IANA.jwt"/> registry introduced in <xref target="RFC7519"/>.</t>
        <section anchor="iana-claims-reg-gty">
          <name><tt>gty</tt> claim definition</name>
          <dl>
            <dt>Claim Name:</dt>
            <dd>
              <t><tt>gty</tt></t>
            </dd>
            <dt>Claim Description:</dt>
            <dd>
              <t>OAuth2 Grant Type used</t>
            </dd>
            <dt>Change Controller:</dt>
            <dd>
              <t>IETF</t>
            </dd>
          </dl>
          <t>Specification Document(s):
      Section X.Y of this document</t>
        </section>
        <section anchor="iana-claims-cxt">
          <name><tt>cxt</tt> claim definition</name>
          <dl>
            <dt>Claim Name:</dt>
            <dd>
              <t><tt>cxt</tt></t>
            </dd>
            <dt>Claim Description:</dt>
            <dd>
              <t>Client Extensions used on top of the OAuth2 Grant Type</t>
            </dd>
            <dt>Change Controller:</dt>
            <dd>
              <t>IETF</t>
            </dd>
            <dt>Specification Document(s):</dt>
            <dd>
              <t>Section X.Y of this document</t>
            </dd>
          </dl>
        </section>
        <section anchor="iana-claims-ccr">
          <name><tt>ccr</tt> claim definition</name>
          <dl>
            <dt>Claim Name:</dt>
            <dd>
              <t><tt>ccr</tt></t>
            </dd>
            <dt>Claim Description:</dt>
            <dd>
              <t>Client Authentication Class Reference</t>
            </dd>
            <dt>Change Controller:</dt>
            <dd>
              <t>IETF</t>
            </dd>
            <dt>Specification Document(s):</dt>
            <dd>
              <t>Section X.Y of this document</t>
            </dd>
          </dl>
        </section>
        <section anchor="iana-claims-cmr">
          <name><tt>cmr</tt> claim definition</name>
          <dl>
            <dt>Claim Name:</dt>
            <dd>
              <t><tt>cmr</tt></t>
            </dd>
            <dt>Claim Description:</dt>
            <dd>
              <t>Client Authentication Methods Reference</t>
            </dd>
            <dt>Change Controller:</dt>
            <dd>
              <t>IETF</t>
            </dd>
            <dt>Specification Document(s):</dt>
            <dd>
              <t>Section X.Y of this document</t>
            </dd>
          </dl>
        </section>
      </section>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC6749">
          <front>
            <title>The OAuth 2.0 Authorization Framework</title>
            <author fullname="D. Hardt" initials="D." role="editor" surname="Hardt"/>
            <date month="October" year="2012"/>
            <abstract>
              <t>The OAuth 2.0 authorization framework enables a third-party application to obtain limited access to an HTTP service, either on behalf of a resource owner by orchestrating an approval interaction between the resource owner and the HTTP service, or by allowing the third-party application to obtain access on its own behalf. This specification replaces and obsoletes the OAuth 1.0 protocol described in RFC 5849. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6749"/>
          <seriesInfo name="DOI" value="10.17487/RFC6749"/>
        </reference>
        <reference anchor="RFC7519">
          <front>
            <title>JSON Web Token (JWT)</title>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <author fullname="J. Bradley" initials="J." surname="Bradley"/>
            <author fullname="N. Sakimura" initials="N." surname="Sakimura"/>
            <date month="May" year="2015"/>
            <abstract>
              <t>JSON Web Token (JWT) is a compact, URL-safe means of representing claims to be transferred between two parties. The claims in a JWT are encoded as a JSON object that is used as the payload of a JSON Web Signature (JWS) structure or as the plaintext of a JSON Web Encryption (JWE) structure, enabling the claims to be digitally signed or integrity protected with a Message Authentication Code (MAC) and/or encrypted.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7519"/>
          <seriesInfo name="DOI" value="10.17487/RFC7519"/>
        </reference>
        <reference anchor="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="RFC7591">
          <front>
            <title>OAuth 2.0 Dynamic Client Registration Protocol</title>
            <author fullname="J. Richer" initials="J." role="editor" surname="Richer"/>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <author fullname="J. Bradley" initials="J." surname="Bradley"/>
            <author fullname="M. Machulak" initials="M." surname="Machulak"/>
            <author fullname="P. Hunt" initials="P." surname="Hunt"/>
            <date month="July" year="2015"/>
            <abstract>
              <t>This specification defines mechanisms for dynamically registering OAuth 2.0 clients with authorization servers. Registration requests send a set of desired client metadata values to the authorization server. The resulting registration responses return a client identifier to use at the authorization server and the client metadata values registered for the client. The client can then use this registration information to communicate with the authorization server using the OAuth 2.0 protocol. This specification also defines a set of common client metadata fields and values for clients to use during registration.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7591"/>
          <seriesInfo name="DOI" value="10.17487/RFC7591"/>
        </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="RFC8628">
          <front>
            <title>OAuth 2.0 Device Authorization Grant</title>
            <author fullname="W. Denniss" initials="W." surname="Denniss"/>
            <author fullname="J. Bradley" initials="J." surname="Bradley"/>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <author fullname="H. Tschofenig" initials="H." surname="Tschofenig"/>
            <date month="August" year="2019"/>
            <abstract>
              <t>The OAuth 2.0 device authorization grant is designed for Internet- connected devices that either lack a browser to perform a user-agent- based authorization or are input constrained to the extent that requiring the user to input text in order to authenticate during the authorization flow is impractical. It enables OAuth clients on such devices (like smart TVs, media consoles, digital picture frames, and printers) to obtain user authorization to access protected resources by using a user agent on a separate device.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8628"/>
          <seriesInfo name="DOI" value="10.17487/RFC8628"/>
        </reference>
        <reference anchor="OpenID.CIBA" target="https://openid.net/specs/openid-client-initiated-backchannel-authentication-core-1_0.html">
          <front>
            <title>OpenID Connect Client-Initiated Backchannel Authentication Flow - Core 1.0</title>
            <author initials="G." surname="Fernandez" fullname="G. Fernandez">
              <organization/>
            </author>
            <author initials="F." surname="Walter" fullname="F. Walter">
              <organization/>
            </author>
            <author initials="A." surname="Nennker" fullname="A. Nennker">
              <organization/>
            </author>
            <author initials="D." surname="Tonge" fullname="D. Tonge">
              <organization/>
            </author>
            <author initials="B." surname="Campbell" fullname="B. Campbell">
              <organization/>
            </author>
            <date year="2021" month="September"/>
          </front>
        </reference>
        <reference anchor="RFC8414">
          <front>
            <title>OAuth 2.0 Authorization Server Metadata</title>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <author fullname="N. Sakimura" initials="N." surname="Sakimura"/>
            <author fullname="J. Bradley" initials="J." surname="Bradley"/>
            <date month="June" year="2018"/>
            <abstract>
              <t>This specification defines a metadata format that an OAuth 2.0 client can use to obtain the information needed to interact with an OAuth 2.0 authorization server, including its endpoint locations and authorization server capabilities.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8414"/>
          <seriesInfo name="DOI" value="10.17487/RFC8414"/>
        </reference>
        <reference anchor="IANA.oauth-parameters" target="https://www.iana.org/assignments/oauth-parameters">
          <front>
            <title>OAuth Parameters</title>
            <author>
              <organization>IANA</organization>
            </author>
          </front>
        </reference>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC6750">
          <front>
            <title>The OAuth 2.0 Authorization Framework: Bearer Token Usage</title>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <author fullname="D. Hardt" initials="D." surname="Hardt"/>
            <date month="October" year="2012"/>
            <abstract>
              <t>This specification describes how to use bearer tokens in HTTP requests to access OAuth 2.0 protected resources. Any party in possession of a bearer token (a "bearer") can use it to get access to the associated resources (without demonstrating possession of a cryptographic key). To prevent misuse, bearer tokens need to be protected from disclosure in storage and in transport. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6750"/>
          <seriesInfo name="DOI" value="10.17487/RFC6750"/>
        </reference>
        <reference anchor="RFC7521">
          <front>
            <title>Assertion Framework for OAuth 2.0 Client Authentication and Authorization Grants</title>
            <author fullname="B. Campbell" initials="B." surname="Campbell"/>
            <author fullname="C. Mortimore" initials="C." surname="Mortimore"/>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <author fullname="Y. Goland" initials="Y." surname="Goland"/>
            <date month="May" year="2015"/>
            <abstract>
              <t>This specification provides a framework for the use of assertions with OAuth 2.0 in the form of a new client authentication mechanism and a new authorization grant type. Mechanisms are specified for transporting assertions during interactions with a token endpoint; general processing rules are also specified.</t>
              <t>The intent of this specification is to provide a common framework for OAuth 2.0 to interwork with other identity systems using assertions and to provide alternative client authentication mechanisms.</t>
              <t>Note that this specification only defines abstract message flows and processing rules. In order to be implementable, companion specifications are necessary to provide the corresponding concrete instantiations.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7521"/>
          <seriesInfo name="DOI" value="10.17487/RFC7521"/>
        </reference>
        <reference anchor="RFC7523">
          <front>
            <title>JSON Web Token (JWT) Profile for OAuth 2.0 Client Authentication and Authorization Grants</title>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <author fullname="B. Campbell" initials="B." surname="Campbell"/>
            <author fullname="C. Mortimore" initials="C." surname="Mortimore"/>
            <date month="May" year="2015"/>
            <abstract>
              <t>This specification defines the use of a JSON Web Token (JWT) Bearer Token as a means for requesting an OAuth 2.0 access token as well as for client authentication.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7523"/>
          <seriesInfo name="DOI" value="10.17487/RFC7523"/>
        </reference>
        <reference anchor="RFC8176">
          <front>
            <title>Authentication Method Reference Values</title>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <author fullname="P. Hunt" initials="P." surname="Hunt"/>
            <author fullname="A. Nadalin" initials="A." surname="Nadalin"/>
            <date month="June" year="2017"/>
            <abstract>
              <t>The "amr" (Authentication Methods References) claim is defined and registered in the IANA "JSON Web Token Claims" registry, but no standard Authentication Method Reference values are currently defined. This specification establishes a registry for Authentication Method Reference values and defines an initial set of Authentication Method Reference values.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8176"/>
          <seriesInfo name="DOI" value="10.17487/RFC8176"/>
        </reference>
        <reference anchor="RFC7636">
          <front>
            <title>Proof Key for Code Exchange by OAuth Public Clients</title>
            <author fullname="N. Sakimura" initials="N." role="editor" surname="Sakimura"/>
            <author fullname="J. Bradley" initials="J." surname="Bradley"/>
            <author fullname="N. Agarwal" initials="N." surname="Agarwal"/>
            <date month="September" year="2015"/>
            <abstract>
              <t>OAuth 2.0 public clients utilizing the Authorization Code Grant are susceptible to the authorization code interception attack. This specification describes the attack as well as a technique to mitigate against the threat through the use of Proof Key for Code Exchange (PKCE, pronounced "pixy").</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7636"/>
          <seriesInfo name="DOI" value="10.17487/RFC7636"/>
        </reference>
        <reference anchor="RFC9396">
          <front>
            <title>OAuth 2.0 Rich Authorization Requests</title>
            <author fullname="T. Lodderstedt" initials="T." surname="Lodderstedt"/>
            <author fullname="J. Richer" initials="J." surname="Richer"/>
            <author fullname="B. Campbell" initials="B." surname="Campbell"/>
            <date month="May" year="2023"/>
            <abstract>
              <t>This document specifies a new parameter authorization_details that is used to carry fine-grained authorization data in OAuth messages.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9396"/>
          <seriesInfo name="DOI" value="10.17487/RFC9396"/>
        </reference>
        <reference anchor="RFC9126">
          <front>
            <title>OAuth 2.0 Pushed Authorization Requests</title>
            <author fullname="T. Lodderstedt" initials="T." surname="Lodderstedt"/>
            <author fullname="B. Campbell" initials="B." surname="Campbell"/>
            <author fullname="N. Sakimura" initials="N." surname="Sakimura"/>
            <author fullname="D. Tonge" initials="D." surname="Tonge"/>
            <author fullname="F. Skokan" initials="F." surname="Skokan"/>
            <date month="September" year="2021"/>
            <abstract>
              <t>This document defines the pushed authorization request (PAR) endpoint, which allows clients to push the payload of an OAuth 2.0 authorization request to the authorization server via a direct request and provides them with a request URI that is used as reference to the data in a subsequent call to the authorization endpoint.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9126"/>
          <seriesInfo name="DOI" value="10.17487/RFC9126"/>
        </reference>
        <reference anchor="RFC9101">
          <front>
            <title>The OAuth 2.0 Authorization Framework: JWT-Secured Authorization Request (JAR)</title>
            <author fullname="N. Sakimura" initials="N." surname="Sakimura"/>
            <author fullname="J. Bradley" initials="J." surname="Bradley"/>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <date month="August" year="2021"/>
            <abstract>
              <t>The authorization request in OAuth 2.0 described in RFC 6749 utilizes query parameter serialization, which means that authorization request parameters are encoded in the URI of the request and sent through user agents such as web browsers. While it is easy to implement, it means that a) the communication through the user agents is not integrity protected and thus, the parameters can be tainted, b) the source of the communication is not authenticated, and c) the communication through the user agents can be monitored. Because of these weaknesses, several attacks to the protocol have now been put forward.</t>
              <t>This document introduces the ability to send request parameters in a JSON Web Token (JWT) instead, which allows the request to be signed with JSON Web Signature (JWS) and encrypted with JSON Web Encryption (JWE) so that the integrity, source authentication, and confidentiality properties of the authorization request are attained. The request can be sent by value or by reference.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9101"/>
          <seriesInfo name="DOI" value="10.17487/RFC9101"/>
        </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="RFC8705">
          <front>
            <title>OAuth 2.0 Mutual-TLS Client Authentication and Certificate-Bound Access Tokens</title>
            <author fullname="B. Campbell" initials="B." surname="Campbell"/>
            <author fullname="J. Bradley" initials="J." surname="Bradley"/>
            <author fullname="N. Sakimura" initials="N." surname="Sakimura"/>
            <author fullname="T. Lodderstedt" initials="T." surname="Lodderstedt"/>
            <date month="February" year="2020"/>
            <abstract>
              <t>This document describes OAuth client authentication and certificate-bound access and refresh tokens using mutual Transport Layer Security (TLS) authentication with X.509 certificates. OAuth clients are provided a mechanism for authentication to the authorization server using mutual TLS, based on either self-signed certificates or public key infrastructure (PKI). OAuth authorization servers are provided a mechanism for binding access tokens to a client's mutual-TLS certificate, and OAuth protected resources are provided a method for ensuring that such an access token presented to it was issued to the client presenting the token.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8705"/>
          <seriesInfo name="DOI" value="10.17487/RFC8705"/>
        </reference>
        <reference anchor="RFC9421">
          <front>
            <title>HTTP Message Signatures</title>
            <author fullname="A. Backman" initials="A." role="editor" surname="Backman"/>
            <author fullname="J. Richer" initials="J." role="editor" surname="Richer"/>
            <author fullname="M. Sporny" initials="M." surname="Sporny"/>
            <date month="February" year="2024"/>
            <abstract>
              <t>This document describes a mechanism for creating, encoding, and verifying digital signatures or message authentication codes over components of an HTTP message. This mechanism supports use cases where the full HTTP message may not be known to the signer and where the message may be transformed (e.g., by intermediaries) before reaching the verifier. This document also describes a means for requesting that a signature be applied to a subsequent HTTP message in an ongoing HTTP exchange.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9421"/>
          <seriesInfo name="DOI" value="10.17487/RFC9421"/>
        </reference>
        <reference anchor="RFC9700">
          <front>
            <title>Best Current Practice for OAuth 2.0 Security</title>
            <author fullname="T. Lodderstedt" initials="T." surname="Lodderstedt"/>
            <author fullname="J. Bradley" initials="J." surname="Bradley"/>
            <author fullname="A. Labunets" initials="A." surname="Labunets"/>
            <author fullname="D. Fett" initials="D." surname="Fett"/>
            <date month="January" year="2025"/>
            <abstract>
              <t>This document describes best current security practice for OAuth 2.0. It updates and extends the threat model and security advice given in RFCs 6749, 6750, and 6819 to incorporate practical experiences gathered since OAuth 2.0 was published and covers new threats relevant due to the broader application of OAuth 2.0. Further, it deprecates some modes of operation that are deemed less secure or even insecure.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="240"/>
          <seriesInfo name="RFC" value="9700"/>
          <seriesInfo name="DOI" value="10.17487/RFC9700"/>
        </reference>
        <reference anchor="I-D.parecki-oauth-identity-assertion-authz-grant">
          <front>
            <title>Identity Assertion Authorization Grant</title>
            <author fullname="Aaron Parecki" initials="A." surname="Parecki">
              <organization>Okta</organization>
            </author>
            <author fullname="Karl McGuinness" initials="K." surname="McGuinness">
              <organization>Independent</organization>
            </author>
            <date day="20" month="October" year="2024"/>
            <abstract>
              <t>   This specification provides a mechanism for an application to use an
   identity assertion to obtain an access token for a third-party API
   using Token Exchange [RFC8693] and JWT Profile for OAuth 2.0
   Authorization Grants [RFC7523].

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-parecki-oauth-identity-assertion-authz-grant-02"/>
        </reference>
        <reference anchor="I-D.ietf-wimse-s2s-protocol">
          <front>
            <title>WIMSE Workload to Workload Authentication</title>
            <author fullname="Brian Campbell" initials="B." surname="Campbell">
              <organization>Ping Identity</organization>
            </author>
            <author fullname="Joe Salowey" initials="J." surname="Salowey">
              <organization>Venafi</organization>
            </author>
            <author fullname="Arndt Schwenkschuster" initials="A." surname="Schwenkschuster">
              <organization>SPIRL</organization>
            </author>
            <author fullname="Yaron Sheffer" initials="Y." surname="Sheffer">
              <organization>Intuit</organization>
            </author>
            <date day="3" month="March" year="2025"/>
            <abstract>
              <t>   The WIMSE architecture defines authentication and authorization for
   software workloads in a variety of runtime environments, from the
   most basic ones up to complex multi-service, multi-cloud, multi-
   tenant deployments.  This document defines the simplest, atomic unit
   of this architecture: the protocol between two workloads that need to
   verify each other's identity in order to communicate securely.  The
   scope of this protocol is a single HTTP request-and-response pair.
   To address the needs of different setups, we propose two protocols,
   one at the application level and one that makes use of trusted TLS
   transport.  These two protocols are compatible, in the sense that a
   single call chain can have some calls use one protocol and some use
   the other.  Workload A can call Workload B with mutual TLS
   authentication, while the next call from Workload B to Workload C
   would be authenticated at the application level.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-wimse-s2s-protocol-03"/>
        </reference>
        <reference anchor="I-D.ietf-oauth-transaction-tokens">
          <front>
            <title>Transaction Tokens</title>
            <author fullname="Atul Tulshibagwale" initials="A." surname="Tulshibagwale">
              <organization>SGNL</organization>
            </author>
            <author fullname="George Fletcher" initials="G." surname="Fletcher">
              <organization>Capital One</organization>
            </author>
            <author fullname="Pieter Kasselman" initials="P." surname="Kasselman">
              <organization>SPIRL</organization>
            </author>
            <date day="3" month="March" year="2025"/>
            <abstract>
              <t>   Transaction Tokens (Txn-Tokens) enable workloads in a trusted domain
   to ensure that user identity and authorization context of an external
   programmatic request, such as an API invocation, are preserved and
   available to all workloads that are invoked as part of processing
   such a request.  Txn-Tokens also enable workloads within the trusted
   domain to initiate transactions with protected user identity an
   authorization context throughout the call chain of the workloads
   required to complete the request.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-oauth-transaction-tokens-05"/>
        </reference>
        <reference anchor="IANA.oauth-parameters_token-endpoint-auth-method" target="https://www.iana.org/assignments/oauth-parameters">
          <front>
            <title>OAuth Token Endpoint Authentication Methods</title>
            <author>
              <organization>IANA</organization>
            </author>
          </front>
        </reference>
        <reference anchor="IANA.jwt" target="https://www.iana.org/assignments/jwt">
          <front>
            <title>JSON Web Token (JWT)</title>
            <author>
              <organization>IANA</organization>
            </author>
          </front>
        </reference>
      </references>
    </references>
    <?line 474?>

<section numbered="false" anchor="ack">
      <name>Acknowledgments</name>
      <t>TODO acknowledge.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
Qr80RUMAAA==

-->

</rfc>
