<?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.29 (Ruby 3.3.6) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-richer-oauth-pushed-client-registration-00" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.28.1 -->
  <front>
    <title>OAuth Pushed Client Registration</title>
    <seriesInfo name="Internet-Draft" value="draft-richer-oauth-pushed-client-registration-00"/>
    <author initials="J." surname="Richer" fullname="Justin Richer">
      <organization>Bespoke Engineering</organization>
      <address>
        <email>ietf@justin.richer.org</email>
        <uri>https://bspk.io/</uri>
      </address>
    </author>
    <author initials="A." surname="Parecki" fullname="Aaron Parecki">
      <organization>Okta</organization>
      <address>
        <email>aaron@parecki.com</email>
        <uri>https://aaronparecki.com</uri>
      </address>
    </author>
    <date year="2025" month="April" day="22"/>
    <area>SEC</area>
    <workgroup>WG Working Group</workgroup>
    <keyword>oauth</keyword>
    <keyword>client</keyword>
    <keyword>registration</keyword>
    <abstract>
      <?line 47?>

<t>This specification provides a way for an ephemeral or transactional OAuth 2.0 client to signal to the AS that the client does not need or expect to have an identified state outside the existence of any issued access and refresh tokens. The specification also enables a client to push its registration information to the AS during a pushed authorization request.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://example.com/LATEST"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-richer-oauth-pushed-client-registration/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        WG Working Group mailing list (<eref target="mailto:WG@example.com"/>),
        which is archived at <eref target="https://example.com/WG"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/USER/REPO"/>.</t>
    </note>
  </front>
  <middle>
    <?line 51?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>The OAuth protocol family was originally designed around a model of two relatively stable web sites connecting to each other's APIs on behalf of a user. This design, coupled with the need to begin transactions through an in-browser redirect in the authorization code and implicit grant types, leads naturally to an identifier for the client that can be presented in the front channel and referenced in the back channel along with client authentication. The client identifier could uniquely identify the client at the AS and be used to set policy and track its requests over time.</t>
      <t>Not all clients are sufficiently stable or monolithic to fit this model well. To compensate, OAuth 2.0 introduced the concept of "public clients", whereby many instances of a client (such as a native application or single-page browser application) would share a single identifier. OAuth Dynamic Client Registration <xref target="RFC7591"/> enabled client software that did not get a client identifier at configuration time to obtain an identifier at runtime through a separate request to the AS. This enables dynamic configuration, but comes at a cost of needing to securely manage issuing and tracking these additional identifiers.</t>
      <t>Some forms of client software in open ecosystem patterns, such as the Model Context Protocol or many legacy software authentication systems like IMAP, are built around a different model whereby any compliant piece of client software should be able to connect to a compliant server, without a managed preregistration. For these clients, this specification defines a mechanism to indicate to the AS that a client does not need a longstanding identifier but instead desires authorization within a single delegation transaction.</t>
      <t>By using OAuth Pushed Authorization Requests <xref target="RFC9126"/>, a Pushed Client Registration can enable open world protocols to use the OAuth family of protocols as their security layer.</t>
    </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>This document contains non-normative examples of partial and complete HTTP messages. Some examples use a single trailing backslash () to indicate line wrapping for long values, as per <xref target="RFC8792"/>. The \ character and leading spaces on wrapped lines are not part of the value.</t>
    </section>
    <section anchor="protocol-flow">
      <name>Protocol Flow</name>
      <t>Use of this specification consists of the following steps:</t>
      <ul spacing="normal">
        <li>
          <t>The client makes a pushed authorization request using a defined static client_id value</t>
        </li>
        <li>
          <t>The AS returns a request_uri which the AS can associate to the specific request</t>
        </li>
        <li>
          <t>The client makes an authorization request using the request_uri</t>
        </li>
        <li>
          <t>The AS processes the authorization request based on the parameters pushed during the pushed authorization request</t>
        </li>
        <li>
          <t>The AS creates and returns an authorization code to the client</t>
        </li>
        <li>
          <t>The client submits the authorization code to the AS, again using the static client_id value</t>
        </li>
      </ul>
      <section anchor="pushed-authorization-request-and-response">
        <name>Pushed Authorization Request and Response</name>
        <t>The client <bcp14>MUST</bcp14> start the transaction using a pushed authorization request per <xref target="RFC9126"/>. The request <bcp14>MUST</bcp14> include a <tt>client_id</tt> value of <tt>urn:ietf:oauth:parameters:dynamic</tt>. The request <bcp14>MUST</bcp14> include a <tt>state</tt> value and consist of a random number. The request <bcp14>MUST</bcp14> include a <tt>redirect_uri</tt>value. The request <bcp14>MUST</bcp14> include an OAuth PKCE request per <xref target="RFC7636"/>.</t>
        <t>The request <bcp14>MAY</bcp14> include a <tt>client_registration</tt> field, which consists of a form-encoded serialization of the JSON client metadata document defined in <xref target="RFC7591"/>.</t>
        <artwork><![CDATA[
NOTE: '\' line wrapping per RFC 8792

POST /par HTTP/1.1
Host: as.example.com
DPoP: eyj…
DPoP-Key: ejy…

client_id=urn:ietf:oauth:parameters:dynamic\
  &response_type=code\
  &redirect_uri=https%3A%2F%2Fclient.example.org%2Fcb\
  &state=superrandom4789\
  &code_challenge=E9Melhoa2OwvFrEMTJguCHaoeK1t8URWbuGJSstw-cM\
  &code_challenge_method=S256\
  &client_registration=%7B%22client_name%22%3A%22ClaudeDesktop%22%2C%0A\
      %20%22logo_uri%22%3D%22https%3A%2F%2Fanthropic.com%2Flogo.png%22%7D
]]></artwork>
        <t>Where the value of `client_registration_ is the form-encoded JSON value:</t>
        <artwork><![CDATA[
{
  "client_name":"ClaudeDesktop",
  "logo_uri"="https://anthropic.com/logo.png"
}
]]></artwork>
        <t>If the client intends to use a sender-contstrained OAuth access token, such as via DPoP <xref target="RFC9449"/> or mTLS <xref target="RFC8705"/>, the client <bcp14>MUST</bcp14> send the bound authentication parameters appropriate to the method to the PAR endpoint, as in the above example.</t>
        <t>The AS creates a pending authorization request and associates it with an internal identifier, which it returns as a URN to the client:</t>
        <artwork><![CDATA[
HTTP 200 OK

{
   "request_uri": "urn:example:g012h340-4j138fha",
   "expires_in": 90
 }
]]></artwork>
      </section>
      <section anchor="authorization-request-and-response">
        <name>Authorization Request and Response</name>
        <t>The client takes the result of the pushed authorization request and uses it to create an authorization request to the AS. The client <bcp14>MUST NOT</bcp14> include any parameters other than the syntactically required client_id, which is set to the static value in <xref target="client-identifier"/>.</t>
        <artwork><![CDATA[
NOTE: '\' line wrapping per RFC 8792

GET /authorize?client_id=urn:ietf:oauth:parameters:dynamic\
  &request_uri=urn%3Aexample%3Ag012h340-4j138fha HTTP/1.1
Host: as.example.com
]]></artwork>
        <t>The AS parses the value of the <tt>request_uri</tt> parameter and associates the incoming request with the values saved during the call to the PAR endpoint.</t>
        <t>When the AS has received appropriate authorization from the RO, the details of which are out of scope of this specification, the AS returns an authorization code to the client, along with its initial state value.</t>
        <artwork><![CDATA[
NOTE: '\' line wrapping per RFC 8792

HTTP 301 Found
Location: https://client.example.org/cb?\
  code=98765cd-oe\
  &state=superrandom4789
]]></artwork>
        <t>When the client receives this request, the client compares the value of <tt>state</tt> to the stored state value to ensure they are equal to the one the client is expecting.</t>
      </section>
      <section anchor="toiken-request-and-response">
        <name>Toiken Request and Response</name>
        <t>The client takes the authorization code and sends it to the AS in exchange for a token. In this example, the client is requesting a DPoP bound access token.</t>
        <artwork><![CDATA[
NOTE: '\' line wrapping per RFC 8792

POST /token HTTP/1.1
Host: as.example.com
Content-type: application/www-form-urlencoded
DPoP: eyj…
DPoP-Key: ejy…

client_id=urn:ietf:oauth:parameters:dynamic\
  &code=98765cd-oe\
  &grant_type=authorization_code\
  &code_verifier=dBjftJeZ4CVP-mB92K27uhbUJU1p1r_wW1gFWFOEjXk
]]></artwork>
        <t>The AS processes the authorization code and issues an access token to the client.</t>
        <artwork><![CDATA[
NOTE: '\' line wrapping per RFC 8792

HTTP 200 OK
Content-Type: application/json

{
  "access_token": "654edfgh-jkoiu789.0plkjhg34k",
  "token_type": "DPoP"
}
]]></artwork>
        <t>The client can then use this token to call the RS.</t>
      </section>
      <section anchor="token-expiration-and-refresh">
        <name>Token Expiration and Refresh</name>
        <t>The AS <bcp14>MAY</bcp14> issue a refresh token to the client, which can be used to get a new access token with the exact access rights of the original request.</t>
        <t>When the access token expires and the client has no valid refresh token, the client <bcp14>MUST</bcp14> create a new pushed authorization request to get a new token.</t>
      </section>
    </section>
    <section anchor="client-identifier">
      <name>Client Identifier</name>
      <t>The client <bcp14>MUST</bcp14> use a client_id value of <tt>urn:ietf:oauth:parameters:dynamic</tt> in all requests.</t>
      <t>When receiving a client_id value of <tt>urn:ietf:oauth:parameters:dynamic</tt>, the AS <bcp14>MUST</bcp14> process it according to this specification. An AS <bcp14>MUST NOT</bcp14> assign the value <tt>urn:ietf:oauth:parameters:dynamic</tt> to any single client registration.</t>
    </section>
    <section anchor="discoverable-support">
      <name>Discoverable Support</name>
      <t>An AS supporting this extension that publishes its metadata using <xref target="RFC8414"/> <bcp14>MUST</bcp14> indicate its support by including the key:</t>
      <dl>
        <dt>"pushed_client_registration_supported":</dt>
        <dd>
          <t>A boolean value indicating that this specification is supported and accepted by the AS.</t>
        </dd>
      </dl>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>Support for this specification does not imply that it is supported for all possible access requests. In fact, an AS would be expected to determine through policy and configuration whether the request being made is suitable for a pushed client.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <ul spacing="normal">
        <li>
          <t>Register the "dynamic" value in the IETF OAuth URN namespace</t>
        </li>
        <li>
          <t>register the "client_registration" authorization parameter</t>
        </li>
        <li>
          <t>extend the parameters table to indicate that a parameter can only be used inside a PAR request?</t>
        </li>
        <li>
          <t>register the AS metadata key</t>
        </li>
      </ul>
    </section>
  </middle>
  <back>
    <references anchor="sec-normative-references">
      <name>Normative References</name>
      <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="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="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="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="RFC8792">
        <front>
          <title>Handling Long Lines in Content of Internet-Drafts and RFCs</title>
          <author fullname="K. Watsen" initials="K." surname="Watsen"/>
          <author fullname="E. Auerswald" initials="E." surname="Auerswald"/>
          <author fullname="A. Farrel" initials="A." surname="Farrel"/>
          <author fullname="Q. Wu" initials="Q." surname="Wu"/>
          <date month="June" year="2020"/>
          <abstract>
            <t>This document defines two strategies for handling long lines in width-bounded text content. One strategy, called the "single backslash" strategy, is based on the historical use of a single backslash ('\') character to indicate where line-folding has occurred, with the continuation occurring with the first character that is not a space character (' ') on the next line. The second strategy, called the "double backslash" strategy, extends the first strategy by adding a second backslash character to identify where the continuation begins and is thereby able to handle cases not supported by the first strategy. Both strategies use a self-describing header enabling automated reconstitution of the original content.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="8792"/>
        <seriesInfo name="DOI" value="10.17487/RFC8792"/>
      </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="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="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>
    <?line 237?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>The authors would like to thank Darin McAdams, Den Delimarsky, David Soria Perra, Adrian Frei, Pieter Kasselman, Jerome Swannack, Basil Hosmer, and Fei Yuan for their discussion and input to the concepts behind this draft.</t>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA61a23LbSJJ9x1fU0OHpng2SEmX5IsZo3LQubdmWpRWl8fSu
N+QiUCRLBAEMChDNcbhjP2Wf9kP2U/ZL9mRWFS4SrW5PbITDAgp1yco8eTIr
i71eLyh0Eauh6JyNymIuzkszV5E4iLVKCnGhZtoUuSx0mnSCUBZqlubroTBF
FARRGiZyiaFRLqdFL9fhXOW9VGKaXsbT9EKeppc3pultbwemnCy1MXgr1hkm
ODm6PA7CNDEqMaUZiiIvVXA7FE8CmSs5FOOjg2CV5otZnpbZUHz4WXzAm05m
4mdqCRZqjc/RMBA9wevTg12bnprLB7cqKRV6imoyPFsx2pMKsZQ6pg4/qc9y
mcWqH6ZLNMs8nA/FvCgyM9zaanzb4rlmupiXk6G4Gh9dbF0cnZ+hLYbmTLF5
0LvR5dH4MghI7jQnyXpCJ9DCm764YJ2iSQir6jelKXTSbE/zmUz0P3hzQ/FK
mSxdKHGUzHSiVI7tcC9l96JVMf3phufoW3v1MZ57lLmu5ZuYbNHX6VYtzKgv
zmGMcKEb0oxkniatdreOpA8/ZfaDU9tdUc8Whby/Mo9sDgySNF9iyC0b7eL4
4PnTvYF/fPbkmXt8sTvY9Y/Pt59Wj3s77nFvsOP77u3u7g2DQCfTeuog6PV6
Qk4IJ2ERBJdzbYTJVKinOmSJRZantzpSRkixkmuBwUImQmVztVS5jLE9AFcm
BuPRHQ3Wo3b62w6LokiF0TP6hKdirsRojD+y4GfXJ0qxQpIWAuaLaE71GVLw
2Lm8VbQkhEgKyIXvpgCyRFoWBo08jfoMrKskROsUndcCjlaipwxDZSB7EsEf
prkyc0y5gMP1xSWGtbcqY5MKlchJzNutxSe/FrowLZ8SlSbxXO8sKgl+GG7J
QFiAO/tjgr+X8Im+VfxSR1GsguCROEmKPI1K1iGZQTk1QvtFGqaxmMqljtcw
gYF2NGAuY7zCLtAsrQLnxR6lWKaRikkJxSrFajEbGj2hMmxLrNQExoBbChBP
Ag2TrBBeyXAuUmwh/8GI0fkJVknERM1lPGWNitLAawTjwy7axQwlvDkSK7g+
755th8km0FLSRIXBZwg4m7Mdk94kT1eYD/JFOiczU3dM0NZViK2w5TRYQ4e6
AHlJMghoy3RFrGQEzMiizFkXWLiJkpyh2oAYQy6UtC2oVYF1C4jrVp7C//B1
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
xv//XicAAA==

-->

</rfc>
