<?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.30 (Ruby 3.4.8) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-oauth-client-id-metadata-document-01" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.31.0 -->
  <front>
    <title abbrev="CIMD">OAuth Client ID Metadata Document</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-oauth-client-id-metadata-document-01"/>
    <author fullname="Aaron Parecki">
      <organization>Okta</organization>
      <address>
        <email>aaron@parecki.com</email>
        <uri>https://aaronparecki.com</uri>
      </address>
    </author>
    <author fullname="Emelia Smith">
      <organization/>
      <address>
        <email>emelia@brandedcode.com</email>
        <uri>https://thisismissem.social</uri>
      </address>
    </author>
    <date year="2026" month="March" day="02"/>
    <area>Security</area>
    <workgroup>Web Authorization Protocol</workgroup>
    <keyword>oauth</keyword>
    <abstract>
      <?line 99?>

<t>This specification defines a mechanism through which an OAuth client can
identify itself to authorization servers, without prior dynamic client
registration or other existing registration. This is through the usage of a URL
as a <tt>client_id</tt> in an OAuth flow, where the URL refers to a document containing
the necessary client metadata, enabling the authorization server to fetch the
metadata about the client as needed.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://drafts.oauth.net/draft-ietf-oauth-client-id-metadata-document/draft-ietf-oauth-client-id-metadata-document.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-ietf-oauth-client-id-metadata-document/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        Web Authorization Protocol Working Group mailing list (<eref target="mailto:oauth@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/oauth/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/oauth/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/oauth-wg/draft-ietf-oauth-client-id-metadata-document"/>.</t>
    </note>
  </front>
  <middle>
    <?line 108?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>In order for an OAuth 2.0 <xref target="RFC6749"/> client to utilize an OAuth 2.0
authorization server, the client needs to establish a unique identifier, and
needs to provide the server with metadata about the application, such as the
application name, icon and redirect URIs. In cases where a client is interacting
with authorization servers that it has no relationship with, manual registration
is impossible.</t>
      <t>While Dynamic Client Registration <xref target="RFC7591"/> can provide a method for a
previously unknown client to establish itself at an authorization server and
obtain a client identifier, this is not always practical in some deployments and
can create additional challenges around management of the registration data and
cleanup of inactive clients.</t>
      <t>This specification describes how an OAuth 2.0 client can publish its
own registration information and avoid the need for pre-registering
at each authorization server.</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?>

</section>
    <section anchor="client-identifier">
      <name>Client Identifier</name>
      <t>This specification defines the client identifier as a URL with the following
restrictions. Client identifier URLs <bcp14>MUST</bcp14> have an "https" scheme, <bcp14>MUST</bcp14> contain a
path component, <bcp14>MUST NOT</bcp14> contain single-dot or double-dot path segments, <bcp14>MUST
NOT</bcp14> contain a fragment component and <bcp14>MUST NOT</bcp14> contain a username or password
Client identifier URLs <bcp14>SHOULD NOT</bcp14> include a query string component, and <bcp14>MAY</bcp14> contain a port.</t>
      <t>This specification places no restrictions on what URL is used as
a client identifier. A short URL is <bcp14>RECOMMENDED</bcp14>, since the URL may
be displayed to the end user in the authorization interface or in
management interfaces. Usage of a stable URL that does not frequently
change for the client is also <bcp14>RECOMMENDED</bcp14>.</t>
    </section>
    <section anchor="client-information-discovery">
      <name>Client Information Discovery</name>
      <t>One purpose of registering clients at the authorization server is so that
the authorization server has additional information about the client that
can be used during an OAuth flow, such as presenting information about
the client to the user in an authorization consent screen, for example the
client name and logo.</t>
      <t>The authorization server <bcp14>SHOULD</bcp14> fetch the document indicated by the <tt>client_id</tt>
to retrieve the client registration information. A successful response <bcp14>MUST</bcp14> use
the 200 OK HTTP status code. The authorization server <bcp14>MUST</bcp14> treat all other
HTTP status codes as an error response. The authorization server <bcp14>MUST NOT</bcp14>
automatically follow HTTP redirects when retrieving the client registration information.</t>
      <t>Special care should be taken to avoid Server Side Request Forgery (SSRF) Attacks
when fetching Client ID Metadata Documents, as described in <xref target="ssrf_attacks"/>.</t>
      <section anchor="client-metadata-document">
        <name>Client Metadata Document</name>
        <t>The client metadata document is a JSON (<xref target="RFC8259"/>) document containing the metadata
of the client. The client metadata values are the values defined in
the OAuth Dynamic Client Registration Metadata OAuth Parameters registry
<eref target="https://www.iana.org/assignments/oauth-parameters/oauth-parameters.xhtml#client-metadata">https://www.iana.org/assignments/oauth-parameters/oauth-parameters.xhtml#client-metadata</eref>.</t>
        <t>The client metadata document <bcp14>MUST</bcp14> be served with a 200 OK HTTP status code.</t>
        <t>The client metadata document <bcp14>MUST</bcp14> contain a <tt>client_id</tt> property whose value
<bcp14>MUST</bcp14> match the URL of the document using simple string comparison as
defined in <xref target="RFC3986"/> Section 6.2.1.</t>
        <t>The client metadata document <bcp14>MAY</bcp14> define additional properties in the response.
The client metadata document <bcp14>MAY</bcp14> also be served with more specific content types
as long as the response is JSON and conforms to <tt>application/&lt;AS-defined&gt;+json</tt>.</t>
        <t>As there is no way to establish a shared secret to be used with client metadata
documents, the following restrictions apply on the contents of the
client metadata document:</t>
        <ul spacing="normal">
          <li>
            <t>the <tt>token_endpoint_auth_method</tt> property <bcp14>MUST NOT</bcp14> include <tt>client_secret_post</tt>,
<tt>client_secret_basic</tt>, <tt>client_secret_jwt</tt>, or any other method based around
a shared symmetric secret.</t>
          </li>
          <li>
            <t>the <tt>client_secret</tt> and <tt>client_secret_expires_at</tt> properties <bcp14>MUST NOT</bcp14> be used</t>
          </li>
        </ul>
        <t>See <xref target="client_authentication"/> for more details.</t>
        <t>Other specifications <bcp14>MAY</bcp14> place additional restrictions on the contents of the
client metadata document accepted by authorization servers implementing their
specification, for instance, preventing the registration of confidential clients
by requiring the <tt>token_endpoint_auth_method</tt> property be set to <tt>"none"</tt>.</t>
        <t>TBD: We may want a property such as <tt>client_id_expires_at</tt> for indicating that the client is ephemeral and not valid after a given timestamp, especially for documents issued by a service for development purposes.</t>
      </section>
      <section anchor="documents_for_development">
        <name>Client Metadata Documents for Development Purposes</name>
        <t>An authorization server may have restrictions on what it accepts as valid <tt>redirect_uris</tt>, for instance, limiting them to the same-origin as the <tt>client_id</tt> or <tt>client_uri</tt> properties. However, if an authorization server does place additional restrictions on the accepted <tt>redirect_uris</tt> then it <bcp14>SHOULD</bcp14> provide at least one Client ID Metadata Document Service (described below) which is exempt from these restrictions.</t>
        <t>When developing applications against an authorization server which uses this specification, developers often encounter the issue of "how do I serve a Client ID Metadata Document at a publicly accessible https URL whilst developing my application on my localhost?".</t>
        <t>To enable developers to author applications on their machines, without exposing their machines to the public internet, the usage of Client ID Metadata Document Services by the authorization server is <bcp14>RECOMMENDED</bcp14>.</t>
        <t>A Client ID Metadata Document Service is a web service through which developers can acquire a stable URL to a Client ID Metadata Document. This service <bcp14>MAY</bcp14> expire clients from time to time, and <bcp14>MAY</bcp14> require developers to provide additional information about the client being developed.</t>
        <t>By providing at least one Client ID Metadata Document Service, an authorization server can enable developers to create applications, and still indicate to non-technical people that the client that they are about to authorize is currently under-development and may not be trustworthy or secure.</t>
      </section>
      <section anchor="metadata-discovery-errors">
        <name>Metadata Discovery Errors</name>
        <t>If fetching the metadata document fails, the authorization server <bcp14>SHOULD</bcp14> abort the
authorization request.</t>
      </section>
      <section anchor="metadata-caching">
        <name>Metadata Caching</name>
        <t>The authorization server <bcp14>MAY</bcp14> cache the client metadata it discovers at the
client metadata document URL.</t>
        <t>The authorization server <bcp14>SHOULD</bcp14> respect HTTP cache headers <xref target="RFC9111"/> when caching client metadata,
but <bcp14>MAY</bcp14> define its own upper and/or lower bounds on an acceptable cache lifetime as well.</t>
        <t>The authorization server <bcp14>MUST NOT</bcp14> cache error responses. The authorization
server also <bcp14>MUST NOT</bcp14> cache documents which are invalid or malformed.</t>
      </section>
      <section anchor="redirect-url-registration">
        <name>Redirect URL Registration</name>
        <t>According to <xref target="RFC9700"/>, the authorization server
<bcp14>MUST</bcp14> require registration of redirect URIs, and <bcp14>MUST</bcp14> ensure that the redirect URI
in a request is an exact match of a registered redirect URI.</t>
        <t>This method of client information discovery establishes a
registered redirect URI with the authorization server which is used when
comparing the redirect URI in an authorization request against the registered
redirect URIs.</t>
      </section>
    </section>
    <section anchor="as-metadata">
      <name>Authorization Server Metadata</name>
      <t>Authorization servers that publish Authorization Server Metadata <xref target="RFC8414"/> <bcp14>MUST</bcp14> include the following property to signal support for client metadata documents as described in this specification.</t>
      <dl>
        <dt><tt>client_id_metadata_document_supported</tt>:</dt>
        <dd>
          <t><bcp14>OPTIONAL</bcp14>. Boolean value specifying whether the authorization server supports retrieving client metadata from a <tt>client_id</tt> URL as described in this specification.</t>
        </dd>
      </dl>
      <t>This enables clients to avoid sending the user to a dead end, by only redirecting the user to an authorization server that supports this specification. Otherwise, the client would redirect the user and the user would be met with an error about an invalid client as described by Section 4.1.2.1 of <xref target="RFC6749"/>.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>In addition to the security considerations in OAuth 2.0 Core <xref target="RFC6749"/>, and OAuth 2.0 Threat Model and Security Considerations <xref target="RFC6819"/>, and <xref target="RFC9700"/> the additional considerations apply.</t>
      <section anchor="redirect_uri_relationship">
        <name>Relationship between <tt>redirect_uris</tt> and <tt>client_id</tt> or <tt>client_uri</tt></name>
        <t>An authorization server <bcp14>MAY</bcp14> impose restrictions or relationships between the <tt>redirect_uris</tt> and the <tt>client_id</tt> or <tt>client_uri</tt> properties, for example to restrict the <tt>redirect_uri</tt> to the same-origin as the Client ID Metadata Document. Without restrictions like these, there are potential trust and safety issues where the client attempts to impersonate a more well-known client or otherwise act in a way which is malicious or puts the end-user at risk.</t>
        <t>Having no restrictions on the relationship between <tt>redirect_uris</tt> and <tt>client_id</tt> or <tt>client_uri</tt> was a common practice with <xref target="Solid-OIDC"/>'s Client ID Documents, so this ability is preserved for backwards compatibility between <xref target="Solid-OIDC"/> and this specification.</t>
        <t>Some restrictions on <tt>redirect_uris</tt> can make developer usage of Client ID Metadata Documents difficult. The section <xref target="documents_for_development"/> contains recommendations for enabling development usage of Client ID Metadata Documents for authorization servers that impose restrictions on the <tt>redirect_uri</tt>.</t>
      </section>
      <section anchor="client_authentication">
        <name>Client Authentication</name>
        <t>Since the client establishes its own registration data at the authorization server,
prior coordination of client credentials is not possible. However, clients <bcp14>MAY</bcp14> establish
credentials at the authorization server by using authentication methods that use
public/private key pairs, by publishing the public key in their metadata document.</t>
        <t>For example, the client <bcp14>MAY</bcp14> include the following properties in its metadata document
to establish a public key and advertise the <tt>private_key_jwt</tt> authentication method defined in <xref target="OpenID"/>:</t>
        <artwork><![CDATA[
{
  ...
  "token_endpoint_auth_method": "private_key_jwt",
  "jwks_uri": "https://client.example.com/jwks.json"
  ...
}
]]></artwork>
        <t>This establishes this client as a confidential client, and any communication with
the authorization server <bcp14>MUST</bcp14> include client authentication of the registered type.</t>
        <t>The particular method of how the client manages the private key is out of scope of this specification, but may include manual provisioning or methods such as Attestation Based Client Authentication <xref target="I-D.draft-ietf-oauth-attestation-based-client-auth"/>. For example, the client developer could run a Client Attester Backend, using a native application's platform-specific APIs to authenticate to the backend service, where the private key corresponding to the <tt>jwks_uri</tt> key is managed by the backend service. This would allow a mobile app to request JWTs from the backend service that the mobile app could then use as client authentication to the authorization server.</t>
      </section>
      <section anchor="changes-in-client-metadata">
        <name>Changes in Client Metadata</name>
        <t>Authorization servers should be aware that client metadata documents can change over time since they are served from URLs under client control. Authorization servers should consider the security implications when metadata properties change, such as <tt>redirect_uris</tt>, <tt>token_endpoint_auth_method</tt>, <tt>scope</tt>, <tt>grant_types</tt>, <tt>jwks</tt>, <tt>jwks_uri</tt>, or display properties like <tt>client_name</tt> and <tt>logo_uri</tt>.</t>
        <t>Significant changes to client metadata may affect the trust relationship between the authorization server and the client, and could impact the validity of previously granted user consent. Authorization servers may choose to invalidate existing grants, require fresh user consent, or implement other policies when certain types of metadata changes are detected. The appropriate response will depend on the authorization server's risk tolerance and operational requirements.</t>
        <section anchor="client_key_changes">
          <name>Changes in Client Keys</name>
          <t>If the authorization server notices that the <tt>jwks</tt>, <tt>jwks_uri</tt> or the contents at the <tt>jwks_uri</tt> have changed compared to the last time it fetched the metadata, the authorization server <bcp14>MAY</bcp14> take actions such as revoking any tokens issued to this client, or revoking the user's consent for this client. The particular actions to take are left up to the discretion of the authorization server based on its own risk assessment. However, periodic rotation of keys can also be expected as good security hygiene by the client.</t>
        </section>
      </section>
      <section anchor="oauth-phishing-attacks">
        <name>OAuth Phishing Attacks</name>
        <t>Authorization servers <bcp14>SHOULD</bcp14> fetch the <tt>client_id</tt> metadata document provided in the authorization request in order to provide users with additional information about the request, such as the application name and logo. If the server does not fetch the client metadata document, then it <bcp14>SHOULD</bcp14> take additional measures to ensure the user is provided with as much information as possible about the request.</t>
        <t>The authorization server <bcp14>SHOULD</bcp14> display the hostname of the <tt>client_id</tt> on the authorization interface, in addition to displaying the fetched client information if any. Displaying the hostname helps users know that they are authorizing the expected application.</t>
        <t>If fetching the client metadata document fails for any reason, the <tt>client_id</tt> URL is the only piece of information the user has as an indication of which application they are authorizing.</t>
      </section>
      <section anchor="ssrf_attacks">
        <name>Server Side Request Forgery (SSRF) Attacks</name>
        <t>Authorization servers fetching the client metadata document and resolving URLs located in the metadata document should be aware of possible SSRF attacks. Authorization servers <bcp14>MUST</bcp14> validate that the Client ID Metadata Document URL does not resolve to special-use IP addresses as defined in <xref target="RFC6890"/>, except when the authorization server itself is also running on a loopback address and the resolved address matches the same loopback interface.</t>
        <t>Authorization servers <bcp14>SHOULD NOT</bcp14> fetch any URLs contained within Client ID Metadata Documents that resolve to special-use IP addresses as defined in <xref target="RFC6890"/> and consider network policies or other measures to prevent making requests to these addresses. Authorization servers which support non-http-based URI schemes are at additional risk of SSRF attacks.</t>
      </section>
      <section anchor="maximum-response-size-for-client-metadata-documents">
        <name>Maximum Response Size for Client Metadata Documents</name>
        <t>Authorization servers <bcp14>SHOULD</bcp14> limit the response size when fetching the client metadata document, as to avoid denial of service attacks against the authorization server by consuming excessive resources (memory, disk, database). The recommended maximum response size for client metadata documents is 5 kilobytes.</t>
      </section>
      <section anchor="displaying-logos-to-end-users">
        <name>Displaying Logos to End-Users</name>
        <t>Authorization servers that wish to make use of the <tt>logo_uri</tt> property within client metadata document <bcp14>SHOULD</bcp14> prefetch the file at <tt>logo_uri</tt> and cache it for the cache duration of the client metadata document. This allows for moderation tools to verify the file contents (e.g., preventing usage of logos that look like other logos), as well as preventing the logo from being dynamically changed to confuse an end-user.</t>
        <t>Caching of the <tt>logo_uri</tt> response can additionally prevent cross-domain tracking through the <tt>logo_uri</tt> being requested by the client, since the cached file would be served not from the remote URI but instead from a URI that the Authorization server trusts.</t>
      </section>
      <section anchor="client-id-domain-trust">
        <name>Client ID Domain Trust</name>
        <t>The authorization server <bcp14>MAY</bcp14> choose to have its own heuristics and policies around the trust of domain names used as client IDs.</t>
        <t>For example, the authorization server could require that the first 100 users to authorize a <tt>client_id</tt> see an additional warning screen before the OAuth consent screen. The authorization server could check attributes of the domain reputation, such as how recently the domain was registered, and put up extra warnings for new domains.</t>
      </section>
      <section anchor="supporting-both-pre-registered-and-unregistered-clients">
        <name>Supporting Both Pre-Registered and Unregistered Clients</name>
        <t>If an Authorization Server wishes to support clients using Client ID Metadata Documents as well as clients where the Authorization Server generates the <tt>client_id</tt>, it <bcp14>SHOULD</bcp14> ensure that the <tt>client_id</tt> strings it generates do not start with <tt>https://</tt>. Given that most implementations of Authorization Servers generate random values for the <tt>client_id</tt>, this is not expected to be a problem in practice.</t>
      </section>
      <section anchor="pre-registering-client-id-metadata-document-urls">
        <name>Pre-Registering Client ID Metadata Document URLs</name>
        <t>An Authorization Server <bcp14>MAY</bcp14> pre-register Client ID Metadata Document URLs. While this effectively defeats the purpose of enabling the dynamic relationship between clients and authorization servers, it can be a good way to support clients that define their own client IDs as Client ID Metadata Document URLs while not wanting to enable unknown clients to access the authorization server.</t>
        <t>This deployment pattern is expected to be common in enterprise environments where the enterprise customers wish to explicitly onboard particular clients into their environment. The Client ID Metadata Document URL can be registered with the identity provider, including establishing client authentication as described in <xref target="client_authentication"/>, where it can behave the same way as a pre-registered client. There is no obligation to support dynamic client onboarding by using the mechanisms described in this document.</t>
      </section>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <section anchor="oauth-authorization-server-metadata-registry">
        <name>OAuth Authorization Server Metadata Registry</name>
        <t>The following authorization server metadata value is defined by this specification and registered in the IANA "OAuth Authorization Server Metadata" registry established in OAuth 2.0 Authorization Server Metadata <xref target="RFC8414"/>.</t>
        <ul spacing="normal">
          <li>
            <t>Metadata Name: <tt>client_id_metadata_document_supported</tt>:</t>
          </li>
          <li>
            <t>Metadata Description: JSON boolean value specifying whether the authorization server supports retrieving client metadata from a <tt>client_id</tt> URL.</t>
          </li>
          <li>
            <t>Change Controller: IETF</t>
          </li>
          <li>
            <t>Specification Document: <xref target="as-metadata"/> of [draft-ietf-oauth-client-id-metadata-document-01]</t>
          </li>
        </ul>
      </section>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC3986">
          <front>
            <title>Uniform Resource Identifier (URI): Generic Syntax</title>
            <author fullname="T. Berners-Lee" initials="T." surname="Berners-Lee"/>
            <author fullname="R. Fielding" initials="R." surname="Fielding"/>
            <author fullname="L. Masinter" initials="L." surname="Masinter"/>
            <date month="January" year="2005"/>
            <abstract>
              <t>A Uniform Resource Identifier (URI) is a compact sequence of characters that identifies an abstract or physical resource. This specification defines the generic URI syntax and a process for resolving URI references that might be in relative form, along with guidelines and security considerations for the use of URIs on the Internet. The URI syntax defines a grammar that is a superset of all valid URIs, allowing an implementation to parse the common components of a URI reference without knowing the scheme-specific requirements of every possible identifier. This specification does not define a generative grammar for URIs; that task is performed by the individual specifications of each URI scheme. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="66"/>
          <seriesInfo name="RFC" value="3986"/>
          <seriesInfo name="DOI" value="10.17487/RFC3986"/>
        </reference>
        <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="RFC6819">
          <front>
            <title>OAuth 2.0 Threat Model and Security Considerations</title>
            <author fullname="T. Lodderstedt" initials="T." role="editor" surname="Lodderstedt"/>
            <author fullname="M. McGloin" initials="M." surname="McGloin"/>
            <author fullname="P. Hunt" initials="P." surname="Hunt"/>
            <date month="January" year="2013"/>
            <abstract>
              <t>This document gives additional security considerations for OAuth, beyond those in the OAuth 2.0 specification, based on a comprehensive threat model for the OAuth 2.0 protocol. This document is not an Internet Standards Track specification; it is published for informational purposes.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6819"/>
          <seriesInfo name="DOI" value="10.17487/RFC6819"/>
        </reference>
        <reference anchor="RFC6890">
          <front>
            <title>Special-Purpose IP Address Registries</title>
            <author fullname="M. Cotton" initials="M." surname="Cotton"/>
            <author fullname="L. Vegoda" initials="L." surname="Vegoda"/>
            <author fullname="R. Bonica" initials="R." role="editor" surname="Bonica"/>
            <author fullname="B. Haberman" initials="B." surname="Haberman"/>
            <date month="April" year="2013"/>
            <abstract>
              <t>This memo reiterates the assignment of an IPv4 address block (192.0.0.0/24) to IANA. It also instructs IANA to restructure its IPv4 and IPv6 Special-Purpose Address Registries. Upon restructuring, the aforementioned registries will record all special-purpose address blocks, maintaining a common set of information regarding each address block.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="153"/>
          <seriesInfo name="RFC" value="6890"/>
          <seriesInfo name="DOI" value="10.17487/RFC6890"/>
        </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="RFC8259">
          <front>
            <title>The JavaScript Object Notation (JSON) Data Interchange Format</title>
            <author fullname="T. Bray" initials="T." role="editor" surname="Bray"/>
            <date month="December" year="2017"/>
            <abstract>
              <t>JavaScript Object Notation (JSON) is a lightweight, text-based, language-independent data interchange format. It was derived from the ECMAScript Programming Language Standard. JSON defines a small set of formatting rules for the portable representation of structured data.</t>
              <t>This document removes inconsistencies with other specifications of JSON, repairs specification errors, and offers experience-based interoperability guidance.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="90"/>
          <seriesInfo name="RFC" value="8259"/>
          <seriesInfo name="DOI" value="10.17487/RFC8259"/>
        </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="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="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="IndieAuth" target="https://indieauth.spec.indieweb.org/">
          <front>
            <title>IndieAuth</title>
            <author initials="A." surname="Parecki" fullname="Aaron Parecki">
              <organization/>
            </author>
            <date year="2022" month="February" day="12"/>
          </front>
        </reference>
        <reference anchor="Solid-OIDC" target="https://solidproject.org/TR/2022/oidc-20220328">
          <front>
            <title>Solid-OIDC</title>
            <author initials="A." surname="Coburn" fullname="Aaron Coburn">
              <organization>Inrupt</organization>
            </author>
            <author initials="" surname="elf Pavlik" fullname="elf Pavlik">
              <organization/>
            </author>
            <author initials="D." surname="Zagidulin" fullname="Dmitri Zagidulin">
              <organization/>
            </author>
            <date year="2022" month="March" day="28"/>
          </front>
        </reference>
        <reference anchor="OpenID" target="https://openid.net/specs/openid-connect-core-1_0.html">
          <front>
            <title>OpenID Connect Core 1.0</title>
            <author initials="N." surname="Sakimura" fullname="N. Sakimura">
              <organization>NAT.Consulting</organization>
            </author>
            <author initials="J." surname="Bradley" fullname="J. Bradley">
              <organization>Yubico</organization>
            </author>
            <author initials="M." surname="Jones" fullname="M. Jones">
              <organization>Self-Issued Consulting</organization>
            </author>
            <author initials="B. de" surname="Medeiros" fullname="B. de Medeiros">
              <organization>Google</organization>
            </author>
            <author initials="C." surname="Mortimore" fullname="C. Mortimore">
              <organization>Disney</organization>
            </author>
            <date year="2023" month="December" day="15"/>
          </front>
        </reference>
        <reference anchor="OpenID.Federation" target="https://openid.net/specs/openid-federation-1_0.html">
          <front>
            <title>OpenID Federation 1.0</title>
            <author initials="R." surname="Hedberg" fullname="R. Hedberg">
              <organization>independent</organization>
            </author>
            <author initials="M.B." surname="Jones" fullname="M.B. Jones">
              <organization>Self-Issued Consulting</organization>
            </author>
            <author initials="A.Å." surname="Solberg" fullname="A.Å. Solberg">
              <organization>Sikt</organization>
            </author>
            <author initials="J." surname="Bradley" fullname="J. Bradley">
              <organization>Yubico</organization>
            </author>
            <author initials="G. D." surname="Marco" fullname="G. De Marco">
              <organization>independent</organization>
            </author>
            <author initials="V." surname="Dzhuvinov" fullname="V. Dzhuvinov">
              <organization>Connect2id</organization>
            </author>
            <date year="2024" month="May" day="17"/>
          </front>
        </reference>
        <reference anchor="I-D.draft-ietf-oauth-attestation-based-client-auth">
          <front>
            <title>OAuth 2.0 Attestation-Based Client Authentication</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="15" month="September" year="2025"/>
            <abstract>
              <t>   This specification defines an extension to the OAuth 2 protocol as
   defined in [RFC6749] which enables a Client Instance to include a
   key-bound attestation in interactions with an Authorization Server or
   a Resource Server.  This new method enables Client Instances involved
   in a client deployment that is traditionally viewed as a public
   client, to be able to utilize this key-bound attestation to
   authenticate.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-oauth-attestation-based-client-auth-07"/>
        </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="RFC9111">
          <front>
            <title>HTTP Caching</title>
            <author fullname="R. Fielding" initials="R." role="editor" surname="Fielding"/>
            <author fullname="M. Nottingham" initials="M." role="editor" surname="Nottingham"/>
            <author fullname="J. Reschke" initials="J." role="editor" surname="Reschke"/>
            <date month="June" year="2022"/>
            <abstract>
              <t>The Hypertext Transfer Protocol (HTTP) is a stateless application-level protocol for distributed, collaborative, hypertext information systems. This document defines HTTP caches and the associated header fields that control cache behavior or indicate cacheable response messages.</t>
              <t>This document obsoletes RFC 7234.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="98"/>
          <seriesInfo name="RFC" value="9111"/>
          <seriesInfo name="DOI" value="10.17487/RFC9111"/>
        </reference>
      </references>
    </references>
    <?line 371?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>The idea of using URIs as the <tt>client_id</tt> in OAuth based authorization requests is not new, and has previously been specified in varying ways by <xref target="IndieAuth"/>, <xref target="Solid-OIDC"/>, and <xref target="OpenID.Federation"/>. This specification is largely inspired by the work of Aaron Coburn, elf Pavlik, and Dmitri Zagidulin in their <xref target="Solid-OIDC"/> specification which defined dereferenceable Client Identifier Documents.</t>
      <t>The authors would like to thank the following people for their contributions and reviews of this specification: Bobby Tiernay, Brian Campbell, Bryan Newbold, Dick Hardt, Filip Skokan, Jeff Lombardo, Leif Johansson, Matthieu Sieben, Meghna Dubey, Orie Steele, Pieter Kasselman, and Takahiko Kawasaki.</t>
    </section>
    <section numbered="false" anchor="document-history">
      <name>Document History</name>
      <t>(This appendix to be deleted by the RFC editor in the final specification.)</t>
      <t>-01</t>
      <ul spacing="normal">
        <li>
          <t>Added security consideration for changes in Client Metadata</t>
        </li>
        <li>
          <t>Added guidance for an AS that supports both registered and unregistered clients</t>
        </li>
        <li>
          <t>Require HTTP 200 response for fetching metadata</t>
        </li>
        <li>
          <t>Added additional SSRF considerations</t>
        </li>
      </ul>
      <t>-00</t>
      <ul spacing="normal">
        <li>
          <t>Initial draft</t>
        </li>
      </ul>
    </section>
  </back>
  <!-- ##markdown-source:
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
Tko75md0cIDHPcPv8cAY6mxIkv8G4aC8VDJWAAA=

-->

</rfc>
