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

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

<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>
      <t>This approach works best for clients that have an established, stable, and
publicly accessible web presence, such as a web service, a website for a mobile app,
or a service that controls its own domain.
Clients that do not control a stable public URL, such as clients under active development
on a developer's local machine, or clients that cannot guarantee the longevity
of a URL, are less well served by this mechanism. Deployments that need to
support such clients should consider the guidance in <xref target="implementation_considerations"/>
and <xref target="cimd_services"/>.</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-url">
      <name>Client Identifier URL</name>
      <t>This specification defines a URL format used as a client's identifier,
referred to in this document as a Client Identifier URL.</t>
      <t>A Client Identifier URL:</t>
      <ul spacing="normal">
        <li>
          <t><bcp14>MUST</bcp14> use the <tt>https</tt> URL scheme</t>
        </li>
        <li>
          <t><bcp14>MUST NOT</bcp14> contain a userinfo component defined by <xref target="RFC3986"/></t>
        </li>
        <li>
          <t><bcp14>MAY</bcp14> contain a port</t>
        </li>
        <li>
          <t><bcp14>MUST</bcp14> contain a path component other than <tt>/</tt></t>
        </li>
        <li>
          <t><bcp14>MUST NOT</bcp14> contain single-dot or double-dot path components</t>
        </li>
        <li>
          <t><bcp14>SHOULD NOT</bcp14> contain a query component</t>
        </li>
        <li>
          <t><bcp14>MUST NOT</bcp14> contain a fragment component</t>
        </li>
      </ul>
      <t>Client Identifier URLs <bcp14>MUST</bcp14> be compared using simple string comparison, as
defined in <xref section="6.2.1" sectionFormat="of" target="RFC3986"/>. For example,
<tt>https://example.com/client</tt> and <tt>https://example.com:443/client</tt>
are not equivalent even though 443 is the default port for the <tt>https</tt> scheme.</t>
      <t>The client <bcp14>SHOULD</bcp14> normalize its Client Identifier URL as described in
Sections <xref target="RFC3986" section="6.2.2" sectionFormat="bare"/> and <xref target="RFC3986" section="6.2.3" sectionFormat="bare"/> of <xref target="RFC3986"/>, as the Authorization Server <bcp14>MUST NOT</bcp14> normalize
Client Identifier URLs when performing comparison.</t>
      <t>This specification places no restrictions on the brevity or longevity of a
Client Identifier URL beyond the requirements listed above. A short URL is
<bcp14>RECOMMENDED</bcp14>, since the URI may be displayed to the end user in the
authorization interface or in management interfaces. Usage of a stable URL
that does not change frequently for the client is also <bcp14>RECOMMENDED</bcp14>, as
changing the URL will appear to the authorization server to be an entirely
different Client Identifier URL as described in <xref target="client_id_url_changes"/>.</t>
      <t>Note that URL shortening services are generally not suitable as Client Identifier
URLs, since they typically operate using HTTP redirects, which conflicts
with the requirement in <xref target="client_information_discovery"/> when fetching the
Client ID Metadata Document. A path of <tt>/</tt> (e.g., <tt>https://example.com/</tt>)
is prohibited since the Client ID Metadata Document would then be served at
the root of the domain, conflicting with existing content that may be published there.</t>
      <t>A Client Identifier URL <bcp14>MUST</bcp14> be associated with a set of client metadata,
in the form of a Client ID Metadata Document as described in
<xref target="client_metadata_document"/>, available at the Client Identifier URL.</t>
      <t>See also <xref target="client_identifier_urls_security_considerations"/> for security considerations relating to Client Identifier URLs.</t>
    </section>
    <section anchor="client_metadata_document">
      <name>Client ID Metadata Document</name>
      <t>The Client ID 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>
as established by <xref target="RFC7591"/>.</t>
      <t>The Client ID Metadata Document <bcp14>MUST</bcp14> contain a <tt>client_id</tt> property whose value
<bcp14>MUST</bcp14> match the Client Identifier URL, which <bcp14>MUST</bcp14> also match the URL that the
authorization server used to fetch the document; comparisons <bcp14>MUST</bcp14> be made
using simple string comparison as defined in <xref section="6.2.1" sectionFormat="of" target="RFC3986"/>. The
authorization server is responsible for validating this match as part of
processing the fetched document.</t>
      <t>The Client ID Metadata Document <bcp14>MUST</bcp14> be served with a 200 OK HTTP status code.
The Client ID 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>Other specifications <bcp14>MAY</bcp14> place additional restrictions on the contents of the
Client ID Metadata Document accepted by authorization servers implementing their
specification. For example, requiring confidential clients using public/private key authentication by constraining the value(s) of the <tt>token_endpoint_auth_method</tt> and <tt>token_endpoint_auth_methods_supported</tt> properties to <tt>"private_key_jwt"</tt> and not <tt>"none"</tt>.</t>
      <section anchor="client_metadata_restrictions">
        <name>Credential and Key Material Restrictions</name>
        <t>As client metadata documents are publicly accessible, the following restrictions apply to the contents of the Client ID Metadata Document:</t>
        <ul spacing="normal">
          <li>
            <t>the <tt>client_secret</tt> and <tt>client_secret_expires_at</tt> properties <bcp14>MUST NOT</bcp14> be used</t>
          </li>
          <li>
            <t>the <tt>token_endpoint_auth_method</tt> and <tt>token_endpoint_auth_methods_supported</tt> properties <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>private key material <bcp14>MUST NOT</bcp14> be included in the Client ID Metadata Document;
only public keys, such as those published via the <tt>jwks</tt> or <tt>jwks_uri</tt>
properties, are permitted</t>
          </li>
          <li>
            <t>The "jwks_uri" and "jwks" parameters <bcp14>MUST NOT</bcp14> both be present in the same request or response, as described in <xref target="RFC7591"/></t>
          </li>
        </ul>
        <t>The above restrictions also apply when using the <tt>software_statement</tt> parameter, as described in <xref target="software_statement"/>.</t>
        <t>See <xref target="client_authentication"/> for more details on establishing client
authentication.</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 URLs, and <bcp14>MUST</bcp14> ensure that the redirect URL in an authorization request
is an exact match (using simple string comparison) of a registered redirect URL.
An exception is made for redirect URIs on the loopback network interface, which
allow for randomly assigned ports. See <xref section="4.1.3" sectionFormat="of" target="RFC9700"/> for details.</t>
        <t>This method of client information discovery establishes
registered redirect URL(s) when the authorization server fetches
the contents of the Client ID Metadata Document.</t>
        <t>This specification is not limited to grant types that use a redirect URL.
For grant types that do not involve a redirect URL, such as the Client
Credentials Grant, or extension grants such as Token Exchange, the
requirements of this section do not apply, since no redirect URL is
registered or used. The other mechanisms described in this specification,
namely client identification and client metadata discovery, apply
regardless of which grant type is used.</t>
      </section>
      <section anchor="software_statement">
        <name>Relationship with software_statement</name>
        <t>The <tt>software_statement</tt> parameter defined in <xref target="RFC7591"/> <bcp14>MAY</bcp14> be used together
with a Client Identifier URL, for example by including it as a property of the
Client ID Metadata Document. Doing so can provide the authorization server with
an additional, independently verifiable signal about the client's identity or
provenance.</t>
        <t>Operators combining software statements with this specification should note
that the software statement is no longer presented inline by the client during
the authorization request; instead, it is retrieved by the authorization
server as part of fetching the Client ID Metadata Document. This means the
trustworthiness of the software statement's claims depends not only on the
issuer's signature over the statement itself, but also on the integrity of the
process used to retrieve the Client ID Metadata Document (including the
protections described in <xref target="ssrf_attacks"/>), as well as the relationship between
the client instance and the Client ID Metadata Document. Authorization servers should
evaluate whether this combination meets their assurance requirements before
relying on software statements delivered this way.</t>
      </section>
      <section anchor="uri_properties">
        <name>Relationship and Restrictions on URI-based Properties</name>
        <t>Many client metadata properties have URI values. For the purposes of this
specification, these properties fall into one of two categories:</t>
        <dl>
          <dt>Functional URIs:</dt>
          <dd>
            <t>URIs that the authorization server dereferences, or uses directly, as part of
processing the OAuth protocol. These include the <tt>client_id</tt> itself, the
<tt>redirect_uris</tt>, and the <tt>jwks_uri</tt>.</t>
          </dd>
          <dt>Informative URIs:</dt>
          <dd>
            <t>URIs that are intended to be presented to the end-user, typically on the
authorization or consent screen, to provide additional information about the
client. These include <tt>client_uri</tt>, <tt>logo_uri</tt>, <tt>policy_uri</tt>, and <tt>tos_uri</tt>.</t>
          </dd>
        </dl>
        <t>Properties defined by other specifications that have URI values fall into one
of these two categories based on how they are used, as described by the
specification that defines them. A property whose value the authorization
server dereferences or acts on during protocol processing is a functional URI;
a property whose value is only displayed or linked to for the end-user is an
informative URI.</t>
        <t>Authorization servers <bcp14>MAY</bcp14> impose restrictions on functional URIs, such as
restricting the <tt>redirect_uris</tt> to the same origin as the <tt>client_id</tt>, as
discussed in <xref target="redirect_uri_relationship"/>. Authorization servers fetching
functional URIs such as <tt>jwks_uri</tt> are subject to the considerations described
in <xref target="ssrf_attacks"/>.</t>
        <t>Informative URIs are not used to establish the identity of the client, and an
application's informational website will often be hosted separately from
where its Client ID Metadata Document is published. As such, the authorization
server <bcp14>MUST NOT</bcp14> require that the <tt>client_uri</tt> be on the same origin as, or a
prefix of, the <tt>client_id</tt> or any of the <tt>redirect_uris</tt>.</t>
        <t>Since informative URIs are under the control of the client and are displayed
to the end-user, authorization servers should treat them with the same caution
described in <xref section="5" sectionFormat="of" target="RFC7591"/> for open client registration. See also
<xref target="displaying_logos"/> and <xref target="client_metadata_consistency"/>.</t>
      </section>
      <section anchor="client_metadata_consistency">
        <name>Preventing External Influence of Document Contents</name>
        <t>A Client ID Metadata Document is intended to consistently describe one client.
Clients <bcp14>MUST NOT</bcp14> derive the contents of a Client ID Metadata Document from
untrusted external input. This includes input embedded in path or query
components of a Client Identifier URL, as well as request headers, cookies, or
information about the requesting user or authorization server. In particular,
untrusted external input <bcp14>MUST NOT</bcp14> influence URIs used for protocol operation
(Functional URIs), URIs providing information about the client (Informative
URIs), or other security-sensitive or user-visible metadata such as
<tt>client_name</tt>, <tt>client_uri</tt>, <tt>logo_uri</tt>, <tt>policy_uri</tt>, or <tt>tos_uri</tt>.</t>
        <t>This requirement does not prevent an operator from intentionally updating a
Client ID Metadata Document, including performing key rotation, or from
publishing intentionally different documents at distinct Client Identifier
URLs.</t>
      </section>
    </section>
    <section anchor="client_authentication">
      <name>Client Authentication</name>
      <t>Client authentication methods based around a shared symmetric secret cannot be used, as there is no way to securely establish a shared symmetric secret in a Client ID Metadata Document; see <xref target="client_metadata_restrictions"/>. Client Authentication is possible using authentication methods that use public/private key pairs by having the client publish the public key in its metadata document, for example via the <tt>jwks</tt> or <tt>jwks_uri</tt> properties.</t>
      <t>A client <bcp14>SHOULD</bcp14> use the <tt>token_endpoint_auth_methods_supported</tt> (<xref target="OpenID.RPMetadataChoices"/>) property to advertise which client authentication methods the client supports, even if the value is only <tt>["none"]</tt>.</t>
      <t>For backwards compatibility, if the <tt>token_endpoint_auth_methods_supported</tt> property is not present, an authorization server <bcp14>MAY</bcp14> read the singular <tt>token_endpoint_auth_method</tt> (<xref section="2" sectionFormat="of" target="RFC7591"/>) property to determine whether the client supports a method acceptable to the authorization server. The <tt>token_endpoint_auth_method</tt> property is <bcp14>NOT RECOMMENDED</bcp14> as it prevents a client from presenting a single Client ID Metadata Document to authorization servers that may have different client authentication requirements, as well as preventing a client from evolving authentication methods over time.</t>
      <t>If the client presents both the <tt>token_endpoint_auth_methods_supported</tt> property and the <tt>token_endpoint_auth_method</tt> property, then the value in <tt>token_endpoint_auth_method</tt> <bcp14>MUST</bcp14> be included within <tt>token_endpoint_auth_methods_supported</tt> per Section 2 of <xref target="OpenID.RPMetadataChoices"/>.</t>
      <t>When a Client ID Metadata Document contains neither the <tt>token_endpoint_auth_method</tt> property (<xref target="RFC7591"/>) nor the <tt>token_endpoint_auth_methods_supported</tt> property (defined in Section 2 of <xref target="OpenID.RPMetadataChoices"/>), the authorization server <bcp14>MUST</bcp14> assume the token endpoint authentication method of <tt>none</tt>. If the authorization server has determined the client's token endpoint authentication method to be <tt>none</tt>, and the client includes client authentication in a token request, the authorization server <bcp14>MUST</bcp14> reject the request with <tt>invalid_client</tt>.</t>
      <t>Authorization servers <bcp14>MUST NOT</bcp14> apply the default value of <tt>token_endpoint_auth_method</tt> defined in <xref section="2" sectionFormat="of" target="RFC7591"/>, as that default is <tt>client_secret_basic</tt>, which cannot be used with Client ID Metadata Documents, see <xref target="client_metadata_restrictions"/>.</t>
      <t>Authorization servers <bcp14>MUST</bcp14> recognise the presence of the <tt>token_endpoint_auth_methods_supported</tt> property, even if they do not otherwise implement <xref target="OpenID.RPMetadataChoices"/>.</t>
      <t>An authorization server <bcp14>SHOULD</bcp14> select one of the values in <tt>token_endpoint_auth_methods_supported</tt> that it supports, and <bcp14>SHOULD NOT</bcp14> consider it an error that it does not support the remaining values, as described in Section 4 of <xref target="OpenID.RPMetadataChoices"/>.</t>
      <t>When an authorization server does not support any of the token endpoint authentication methods declared in the Client ID Metadata Document, the authorization server <bcp14>MUST</bcp14> abort the authorization request and token requests with <tt>invalid_client</tt>.<cref anchor="cimd-error-code">The <tt>invalid_client</tt> error currently applies to both request types in the IANA registry, however, the underlying specification text does not have language that supports this, see: <eref target="https://github.com/oauth-wg/oauth-v2-1/issues/266">Issue 266 on OAuth 2.1</eref></cref></t>
      <t>An authorization server <bcp14>MAY</bcp14> restrict the supported methods of client authentication based on its own policies, and <bcp14>SHOULD</bcp14> advertise the supported methods of client authentication in the authorization server metadata by using the property <tt>token_endpoint_auth_methods_supported</tt> as defined in <xref target="RFC8414"/>.</t>
      <t>When using JWT-based client authentication methods such as <tt>private_key_jwt</tt>, authorization servers and clients <bcp14>SHOULD</bcp14> follow <xref target="RFC8725"/>. In particular, client authentication JWTs <bcp14>SHOULD</bcp14> include an explicit <tt>typ</tt> header parameter (recommended value: <tt>client-authentication+jwt</tt> per <xref target="I-D.draft-ietf-oauth-rfc7523bis"/>) to prevent cross-JWT confusion attacks, and authorization servers <bcp14>SHOULD</bcp14> validate JWT types and <bcp14>MUST</bcp14> implement algorithm allowlists. Additionally, the Client ID Metadata Document <bcp14>MUST</bcp14> include either <tt>jwks</tt> or <tt>jwks_uri</tt> properties, if neither are present, the Authorization Request must return an error of <tt>invalid_client</tt>.</t>
      <t>Clients that are capable of maintaining private key material and performing client authentication <bcp14>SHOULD</bcp14> do so using a client authentication method that uses public/private key pairs, such as <tt>private_key_jwt</tt> from the <eref target="https://www.iana.org/assignments/oauth-parameters/oauth-parameters.xhtml#token-endpoint-auth-method">OAuth Token Endpoint Authentication Methods registry</eref>.</t>
      <t>When a client declares <tt>private_key_jwt</tt> as a token endpoint auth method and the authorization server supports this method, the authorization server <bcp14>MUST</bcp14> require client authentication according to <xref section="2.2" sectionFormat="of" target="RFC7523"/> using a corresponding key discovered from the client's metadata document.</t>
      <t>See <xref target="client_authentication_key_material"/> for security details on managing Client Authentication Key Material.</t>
      <section anchor="examples-of-client-authentication">
        <name>Examples of Client Authentication</name>
        <t>This section is non-normative.</t>
        <t>To establish client authentication using a public key with the <tt>private_key_jwt</tt> authentication method defined in <xref target="OpenID"/>, the client metadata document would contain the following:</t>
        <artwork><![CDATA[
{
  ...
  "token_endpoint_auth_methods_supported": ["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 must include client authentication using <tt>private_key_jwt</tt>.</t>
        <t>A client can advertise more than one client authentication method to interoperate with authorization servers that support different methods. In the following example, the client offers <tt>private_key_jwt</tt> to authorization servers that support it, while remaining usable as a public client for those that do not:</t>
        <artwork><![CDATA[
{
  ...
  "token_endpoint_auth_methods_supported": ["none", "private_key_jwt"],
  "jwks_uri": "https://client.example.com/jwks.json"
  ...
}
]]></artwork>
        <t>If the authorization server does not support <tt>private_key_jwt</tt>, then the token endpoint authentication method to be used by the client must be <tt>none</tt> and the client will be a public client.</t>
        <t>If the authorization server does support <tt>private_key_jwt</tt> client authentication, then the client should use the <tt>private_key_jwt</tt> token endpoint authentication method. If the client were to use <tt>none</tt> then the authorization server may reject the request with <tt>invalid_client</tt>.</t>
        <t>This means the client may either be a public client or confidential client, dependent on the token endpoint authentication method selected for use.</t>
      </section>
    </section>
    <section anchor="client_information_discovery">
      <name>Client Information Discovery</name>
      <t>Authorization servers <bcp14>SHOULD</bcp14> automatically fetch the Client ID Metadata
Document at the Client Identifier URL to retrieve the client metadata.</t>
      <t>The Authorization Server <bcp14>MUST</bcp14> filter the <tt>grant_types</tt> and <tt>response_types</tt> array-valued
fields and find the intersection of what the Client ID Metadata Document
declares and what the Authorization Servers supports. If the intersection of either of these
two properties is empty, the Authorization Server <bcp14>MUST</bcp14> reject the request with <tt>invalid_client</tt>.</t>
      <t>The Authorization Server <bcp14>SHOULD</bcp14>
send an <tt>Accept</tt> header of <tt>application/json</tt> as described in <xref section="12.5.1" sectionFormat="of" target="RFC9110"/>
when fetching the client metadata. See <xref target="accept-header"/> for additional details.</t>
      <t>Authorization servers <bcp14>SHOULD</bcp14> periodically re-fetch the Client ID Metadata Document
as the contents may change over time. See <xref target="metadata_caching"/> and
<xref target="client_metadata_changes"/> for additional considerations.</t>
      <t>An authorization server <bcp14>MAY</bcp14> instead associate a Client Identifier URL with
client metadata through other means, such as by pre-registering the URL as
described in <xref target="prereg_cimd_urls"/>.</t>
      <t>The Client ID Metadata Document <bcp14>MUST</bcp14> be served with a 200 OK HTTP status code.
The authorization server <bcp14>MUST</bcp14> treat all other HTTP status codes as an error response, as
described in <xref target="metadata_discovery_errors"/>. The authorization server <bcp14>MUST NOT</bcp14>
automatically follow HTTP redirects when fetching the Client ID Metadata Document.</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="metadata_discovery_errors">
        <name>Metadata Discovery Errors</name>
        <t>If the authorization server attempts to fetch the Client ID Metadata Document,
and fetching the metadata document fails, the authorization server <bcp14>SHOULD</bcp14> abort the
authorization request.</t>
        <t>This document distinguishes two classes of discovery failure: a
transient failure (e.g., a network error or timeout, comparable in
spirit to the <tt>temporarily_unavailable</tt> condition in
<xref section="4.1.2.1" sectionFormat="of" target="RFC6749"/>) and a terminal failure (the document was
retrieved but was malformed, or was rejected on trust or validation grounds).</t>
        <t>A transient failure <bcp14>SHOULD NOT</bcp14> by itself invalidate a Client Identifier
URL's previously established trust or outstanding refresh tokens. An
authorization server <bcp14>SHOULD NOT</bcp14> discard previously cached valid client metadata
on transient failures.</t>
        <t>A terminal failure caused by a client_id mismatch <bcp14>SHOULD</bcp14> invalidate the
client's outstanding refresh tokens immediately.</t>
        <t>A terminal failure caused by the authorization server's own trust or policy
<bcp14>MAY</bcp14> invalidate the client's outstanding refresh tokens immediately, at the
authorization server's discretion, consistent with <xref target="client_metadata_changes"/>.</t>
        <t>When a request fails because the Client ID Metadata Document could not be
retrieved or was invalid, the authorization server <bcp14>MUST NOT</bcp14> redirect the user
agent to the client, as described in <xref section="4.1.2.1" sectionFormat="of" target="RFC6749"/>, and <bcp14>SHOULD</bcp14>
inform the user of the error. At the token endpoint or pushed authorization
request endpoint, the authorization server <bcp14>MUST</bcp14> return an <tt>invalid_client</tt>
error, or for a transient failure, an HTTP 503 status code.</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 ID Metadata Document URL, including data retrieved from referenced URLs
such as the <tt>jwks_uri</tt> and <tt>logo_uri</tt>.</t>
        <t>The authorization server <bcp14>SHOULD</bcp14> respect HTTP cache headers <xref target="RFC9111"/> when caching client metadata.
The <tt>Expires</tt> HTTP header need not be honored, since <tt>Cache-Control</tt> takes precedence under <xref target="RFC9111"/>.</t>
        <t>The authorization server <bcp14>SHOULD</bcp14> enforce a maximum effective cache duration regardless of the cache
directives in the response. The authorization server <bcp14>SHOULD</bcp14> also enforce a minimum effective cache
duration when none is otherwise indicated.</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>
        <t>The authorization server <bcp14>MAY</bcp14> implement rate limiting or other measures to avoid repeatedly fetching a Client ID Metadata Document URL, even if that results in fetching the URL less often than requested by the cache headers.</t>
      </section>
    </section>
    <section anchor="authorization-response">
      <name>Authorization Response</name>
      <t>The authorization response <bcp14>MUST</bcp14> include the <tt>iss</tt> parameter, as defined in <xref target="RFC9207"/>. See <xref section="4.4" sectionFormat="of" target="RFC9700"/> and <xref target="RFC9207"/> for additional details how the client can use it to prevent mix-up attacks.</t>
    </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 ID 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 in <xref section="4.1.2.1" sectionFormat="of" target="RFC6749"/>.</t>
    </section>
    <section anchor="implementation_considerations">
      <name>Implementation Considerations</name>
      <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>
        <t>The presence of the <tt>https://</tt> scheme in a <tt>client_id</tt> is not by itself a reliable signal of whether a client was registered using this specification, such as if an authorization server issues <tt>https://</tt> URLs as <tt>client_id</tt> values for other purposes like vanity identifiers or stable developer-facing identifiers, without treating them as Client Identifier URLs to be fetched. The determining factor for whether a <tt>client_id</tt> is subject to this specification is whether the authorization server fetches, or otherwise associates, a Client ID Metadata Document for that <tt>client_id</tt>. Authorization servers that support both approaches need a reliable way, internal to their own implementation, to distinguish clients registered via this specification from those registered by other means.</t>
      </section>
      <section anchor="prereg_cimd_urls">
        <name>Pre-Registering Client Identifier URLs</name>
        <t>An authorization server <bcp14>MAY</bcp14> pre-register Client Identifier URLs. This is a valid deployment pattern that leverages the namespacing and key-binding properties of Client Identifier URLs described in this specification, while not relying on the authorization server automatically fetching client metadata at request time. The authorization server <bcp14>SHOULD</bcp14> fetch the Client ID Metadata Document at the URL at the time of establishing this pre-registration, although other means of registering the metadata document are also valid.</t>
        <t>This deployment pattern is expected to be common in enterprise environments where enterprise customers wish to explicitly onboard particular clients into their environment. The Client Identifier 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="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="client_identifier_urls_security_considerations">
        <name>Client Identifier URL Confusion Attacks</name>
        <t>To prevent token confusion attacks, an authorization server <bcp14>SHOULD</bcp14> reject a
Client Identifier URL that is equal, using simple string comparison as defined
in <xref section="6.2.1" sectionFormat="of" target="RFC3986"/>, to its own <tt>issuer</tt> identifier, or to the
identifier of any authorization server or resource server it has a trust
relationship with.</t>
        <t>The Client Identifier URL appears in tokens and assertions as the value of claims such as <tt>aud</tt> in tokens issued to the client, <tt>iss</tt> and <tt>sub</tt> in client authentication assertions (<xref target="RFC7523"/>), and <tt>client_id</tt> in access tokens and token introspection responses. If the Client Identifier URL equals the identifier of another party, these values become ambiguous, and a token or assertion relating to the client could be accepted by that party as having been issued by, issued to, or being about itself.</t>
      </section>
      <section anchor="redirect_uri_relationship">
        <name>Relationship between <tt>redirect_uris</tt> and <tt>client_id</tt></name>
        <t>An authorization server may impose restrictions or relationships between the <tt>redirect_uris</tt> and the <tt>client_id</tt>, 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. Restrictions of this kind do not apply to informative URIs such as <tt>client_uri</tt>, as described in <xref target="uri_properties"/>.</t>
        <t>Having no restrictions on the relationship between <tt>redirect_uris</tt> and <tt>client_id</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. <xref target="cimd_services"/> discusses how a service offered by the authorization server can enable 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_key_material">
        <name>Client Authentication Key Material</name>
        <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"/> or "OAuth SPIFFE Client Authentication" <xref target="I-D.draft-ietf-oauth-spiffe-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="client_id_url_changes">
        <name>Changes in Client Identifier URL</name>
        <t>The Client Identifier URL is the client's identity from the perspective of
the authorization server. Because OAuth treats two different <tt>client_id</tt>
values as two entirely unrelated clients, a client that changes its Client
Identifier URL is, as far as any authorization server is concerned, a
brand new client with no relationship to the previous one. Any grants,
tokens, or user consent that had been associated with the old URL may not be
transferable to the new URL, and users may be prompted to re-authorize as
if encountering the client for the first time.</t>
        <t>Clients should therefore treat their Client Identifier URL with the same
degree of stability as they would treat any persistent identity. Operators
should plan for the URL to remain resolvable and under their control
indefinitely, as loss of control over the URL (for example through domain
expiry or reassignment) would allow a third party to assume the client's
identity.</t>
      </section>
      <section anchor="client_metadata_changes">
        <name>Changes in Client Metadata</name>
        <t>Authorization servers should be aware that Client ID 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 may 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">
        <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 ID 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 ID 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 ID Metadata Document and resolving URLs contained within it should be aware of possible SSRF attacks. Authorization servers <bcp14>MUST NOT</bcp14> fetch a Client ID Metadata Document URL or any URLs contained within a Client ID Metadata Document that resolve to special-use IP addresses as defined in <xref target="RFC6890"/>.</t>
        <t>Authorization servers <bcp14>SHOULD</bcp14> follow the recommendations in <xref target="OWASP.SSRF"/>.</t>
        <t>Authorization servers deployed for development or testing purposes <bcp14>MAY</bcp14> relax this restriction to allow fetching from loopback addresses when the authorization server itself is also running on a loopback address and the resolved address matches the same loopback interface. Authorization servers <bcp14>MUST NOT</bcp14> apply this exception in production deployments, since doing so would allow an attacker-controlled Client Identifier URL to cause the authorization server to make requests against itself or other services on the loopback interface or special-use IP addresses.</t>
        <t>Authorization servers <bcp14>SHOULD</bcp14> consider network policies or other measures to prevent making requests to special-use addresses. Authorization servers which support non-http-based URI schemes are at additional risk of SSRF attacks.</t>
        <t>Authorization servers <bcp14>SHOULD</bcp14> ensure they only fetch or parse URLs with known and supported URI schemes. This can help avoid leading to compromises if a client uses a URI scheme such as <tt>javascript:</tt> in a metadata property.</t>
        <section anchor="accept-header">
          <name>Accept Header</name>
          <t>When fetching the Client ID Metadata Document, the authorization server follows the recommendations described in <xref target="client_information_discovery"/>, reducing the chances that the authorization server can be used in a reflection attack on unrelated resources, as the target server has the <tt>Accept</tt> header to early reject the request if the request is made to a resource that does not return JSON.</t>
        </section>
      </section>
      <section anchor="client_id_domain_trust">
        <name>Client ID Domain Trust</name>
        <t>The authorization server may 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. An authorization server may also maintain allowlists of trusted domain patterns, such as treating any Client Identifier URL under <tt>*.example.com</tt> as belonging to a known and trusted operator, and apply reduced friction for clients matching such patterns.</t>
      </section>
      <section anchor="displaying_logos">
        <name>Displaying Logos to End-Users</name>
        <t>Authorization servers that wish to display the image at <tt>logo_uri</tt> to the
end-user, such as on the authorization page or on a page where the end-user
manages their authorized clients, <bcp14>MUST</bcp14> prefetch the file at <tt>logo_uri</tt> and
<bcp14>MUST</bcp14> serve it to the end-user from servers that the authorization server
trusts, rather than referencing the <tt>logo_uri</tt> directly. See <xref target="metadata_caching"/>
for considerations related to caching the metadata and logo.</t>
        <t>Before displaying the file, the authorization server <bcp14>MUST</bcp14> verify that the
file contents are a valid image, and that the image satisfies the
authorization server's content security policy.</t>
        <t>Prefetching and serving the logo from a trusted server allows moderation
tools to verify the file contents (e.g., preventing usage of logos that look
like other logos), and prevents the logo from being dynamically changed to
confuse an end-user, or from being served differently to the authorization
server than to the end-user. It also prevents the operator of the <tt>logo_uri</tt>
from tracking end-users across domains through requests made by the
end-user's browser, as described in <xref target="urls_referenced"/>.</t>
      </section>
      <section anchor="client_presentation">
        <name>Presentation of the Client to End-Users</name>
        <t>Client metadata properties that describe how the client is presented to the
end-user, such as <tt>client_name</tt>, <tt>logo_uri</tt>, <tt>client_uri</tt>, <tt>policy_uri</tt>, and
<tt>tos_uri</tt>, are asserted by the client. A malicious client can use these
properties to impersonate a more well-known client, for example by using
another client's name or logo.</t>
        <t>Authorization servers are not required to display these properties, and <bcp14>MAY</bcp14>
apply their own policies when deciding whether and how to present them to
the end-user. For example, an authorization server could only display the
<tt>client_name</tt> or logo of clients that have been manually reviewed or that
appear on an allowlist, could display a warning alongside these properties
for clients that have not been reviewed, or could display only the hostname
of the Client Identifier URL as described in <xref target="oauth_phishing"/>. See also
<xref target="client_id_domain_trust"/> and <xref target="uri_properties"/>.</t>
      </section>
      <section anchor="maximum-response-size-for-client-id-metadata-documents">
        <name>Maximum Response Size for Client ID Metadata Documents</name>
        <t>Since the authorization server does not control the size of the Client ID Metadata Document served by the client, it cannot limit the size of the response itself. Instead, authorization servers <bcp14>SHOULD</bcp14> limit the amount of data they read and process when fetching a Client ID Metadata Document, for example by stopping after a maximum number of bytes and treating the response as an error if that limit is reached before the document has been fully read. The recommended maximum size to read is 5 kilobytes.</t>
      </section>
      <section anchor="resource-indicator-scoping-of-persisted-authorization-state">
        <name>Resource Indicator Scoping of Persisted Authorization State</name>
        <t>Any mechanism an authorization server uses to persist or reuse a prior
authorization decision for a client <bcp14>MUST</bcp14> be scoped at least to the
pair of Client Identifier URL and <tt>resource</tt>, consistent with the
binding already required of refresh tokens in
<xref section="4.14.2" sectionFormat="of" target="RFC9700"/>.</t>
      </section>
      <section anchor="cimd_services">
        <name>CIMD Services</name>
        <t>This section describes a pattern, referred to as a CIMD Service, through
which an authorization server can offer developers a way to obtain Client
Identifier URIs for use during development, without requiring the developer
to host a publicly accessible document themselves.</t>
        <t>Operating a CIMD Service has security and reputation implications, since it
is effectively acting as a proxy for static client registration for any
client it provisions. An authorization server operating a CIMD Service
should ensure that clients provisioned this way are clearly distinguished
from other clients when presented to end users, and should consider the
implications on the trust model described in this specification, since a
CIMD Service intermediates the relationship between the client and the
authorization server rather than the client publishing its own metadata
directly.</t>
      </section>
    </section>
    <section anchor="privacy-considerations">
      <name>Privacy Considerations</name>
      <section anchor="authorization-server-fetch-side-channel">
        <name>Authorization Server Fetch Side Channel</name>
        <t>When the authorization server fetches a Client Identifier URL or other URLs
referenced within a Client ID Metadata Document, the act of fetching may reveal
information about end-user activity to the operator of the server hosting
those URLs. For example, the timing and frequency of requests to a Client
Identifier URI can indicate when, and how often, users are attempting to
authorize with a particular authorization server.</t>
        <t>Authorization servers that fetch client metadata on every authorization
request, rather than relying on cached data, are more susceptible to this
side channel. Authorization servers <bcp14>SHOULD</bcp14> respect cache headers as
described in <xref target="metadata_caching"/> to reduce the frequency of unnecessary
fetches.</t>
        <t>Varying a Client ID Metadata Document based on the requesting user,
authorization server, or other request context can amplify this side channel.
It can enable a client to track requesters or selectively present misleading
metadata that is difficult for users and independent reviewers to detect.
Clients must follow the consistency requirements in
<xref target="client_metadata_consistency"/>. Authorization servers <bcp14>SHOULD</bcp14> avoid sending
cookies, user-specific information, or unnecessary request headers when
fetching Client ID Metadata Documents.</t>
      </section>
      <section anchor="urls_referenced">
        <name>URLs Referenced in Client ID Metadata Documents</name>
        <t>Client ID Metadata Documents may contain URLs, such as <tt>logo_uri</tt>, <tt>jwks_uri</tt>,
<tt>policy_uri</tt>, or <tt>tos_uri</tt>, that the authorization server fetches directly
or exposes to the end user, for example by rendering them or linking to them
in the authorization interface. When these URLs are fetched by the
authorization server, or their content is served to the end user's browser,
they may create cross-domain tracking opportunities for the operator of the
referenced URL.</t>
        <t>As described in <xref target="displaying_logos"/>, authorization servers that fetch the
content of <tt>logo_uri</tt> and serve it themselves rather than linking to it
directly mitigate the risk of cross-domain tracking through logo requests initiated by the
end user's browser. Authorization servers should consider similar
precautions for other URLs contained in the Client ID Metadata Document before
exposing them to end users.</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 <xref target="RFC8414"/> (OAuth 2.0 Authorization Server Metadata).</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-03]</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="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="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="RFC8725">
          <front>
            <title>JSON Web Token Best Current Practices</title>
            <author fullname="Y. Sheffer" initials="Y." surname="Sheffer"/>
            <author fullname="D. Hardt" initials="D." surname="Hardt"/>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <date month="February" year="2020"/>
            <abstract>
              <t>JSON Web Tokens, also known as JWTs, are URL-safe JSON-based security tokens that contain a set of claims that can be signed and/or encrypted. JWTs are being widely used and deployed as a simple security token format in numerous protocols and applications, both in the area of digital identity and in other application areas. This Best Current Practices document updates RFC 7519 to provide actionable guidance leading to secure implementation and deployment of JWTs.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="225"/>
          <seriesInfo name="RFC" value="8725"/>
          <seriesInfo name="DOI" value="10.17487/RFC8725"/>
        </reference>
        <reference anchor="RFC9110">
          <front>
            <title>HTTP Semantics</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 describes the overall architecture of HTTP, establishes common terminology, and defines aspects of the protocol that are shared by all versions. In this definition are core protocol elements, extensibility mechanisms, and the "http" and "https" Uniform Resource Identifier (URI) schemes.</t>
              <t>This document updates RFC 3864 and obsoletes RFCs 2818, 7231, 7232, 7233, 7235, 7538, 7615, 7694, and portions of 7230.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="97"/>
          <seriesInfo name="RFC" value="9110"/>
          <seriesInfo name="DOI" value="10.17487/RFC9110"/>
        </reference>
        <reference anchor="RFC9207">
          <front>
            <title>OAuth 2.0 Authorization Server Issuer Identification</title>
            <author fullname="K. Meyer zu Selhausen" initials="K." surname="Meyer zu Selhausen"/>
            <author fullname="D. Fett" initials="D." surname="Fett"/>
            <date month="March" year="2022"/>
            <abstract>
              <t>This document specifies a new parameter called iss. This parameter is used to explicitly include the issuer identifier of the authorization server in the authorization response of an OAuth authorization flow. The iss parameter serves as an effective countermeasure to "mix-up attacks".</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9207"/>
          <seriesInfo name="DOI" value="10.17487/RFC9207"/>
        </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="OpenID.RPMetadataChoices" target="https://openid.net/specs/openid-connect-rp-metadata-choices-1_0.html">
          <front>
            <title>OpenID Connect Relying Party Metadata Choices 1.0</title>
            <author initials="M.B." surname="Jones" fullname="M.B. Jones">
              <organization>Self-Issued Consulting</organization>
            </author>
            <author initials="R." surname="Hedberg" fullname="R. Hedberg">
              <organization>independent</organization>
            </author>
            <author initials="J." surname="Bradley" fullname="J. Bradley">
              <organization>Yubico</organization>
            </author>
            <author initials="F." surname="Skokan" fullname="F. Skokan">
              <organization>Okta</organization>
            </author>
            <date year="2026" month="March" day="25"/>
          </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="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." surname="de 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_1-final.html">
          <front>
            <title>OpenID Federation 1.1</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." surname="De Marco" fullname="G. De Marco">
              <organization>independent</organization>
            </author>
            <author initials="V." surname="Dzhuvinov" fullname="V. Dzhuvinov">
              <organization>Connect2id</organization>
            </author>
            <date year="2026" month="May" day="05"/>
          </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="12" month="October" year="2026"/>
            <abstract>
              <t>   This specification defines an extension to the OAuth 2.0 protocol
   (RFC 6749) that enables a client instance to include a key-bound
   attestation when interacting with an Authorization Server or Resource
   Server.  This mechanism allows a client instance to prove its
   authenticity, as verified by a client attester, without revealing its
   target audience to that attester.  It may also serve as a mechanism
   for client authentication as per OAuth 2.0.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-oauth-attestation-based-client-auth-12"/>
        </reference>
        <reference anchor="I-D.draft-ietf-oauth-spiffe-client-auth">
          <front>
            <title>OAuth SPIFFE Client Authentication</title>
            <author fullname="Arndt Schwenkschuster" initials="A." surname="Schwenkschuster">
              <organization>Defakto Security</organization>
            </author>
            <author fullname="Pieter Kasselman" initials="P." surname="Kasselman">
              <organization>Defakto Security</organization>
            </author>
            <author fullname="Scott Rose" initials="S." surname="Rose">
              <organization>NIST</organization>
            </author>
            <author fullname="Stian Thorgersen" initials="S." surname="Thorgersen">
              <organization>IBM</organization>
            </author>
            <author fullname="Nancy Cam-Winget" initials="N." surname="Cam-Winget">
              <organization>Cisco Systems</organization>
            </author>
            <date day="2" month="November" year="2026"/>
            <abstract>
              <t>   This specification profiles the Assertion Framework for OAuth 2.0
   Client Authentication and Authorization Grants [RFC7521], the JWT
   Profile for OAuth 2.0 Client Authentication and Authorization Grants
   [RFC7523], and OAuth 2.0 Attestation-Based Client Authentication
   [I-D.draft-ietf-oauth-attestation-based-client-auth] to enable the
   use of SPIFFE Verifiable Identity Documents (SVIDs) as client
   credentials in OAuth 2.0.  It defines how OAuth clients with SPIFFE
   credentials can authenticate to OAuth authorization servers using
   their JWT-SVIDs, WIT-SVIDs, or X509-SVIDs without the need for client
   secrets.  This approach enhances security by enabling seamless
   integration between SPIFFE-enabled workloads and OAuth authorization
   servers while eliminating the need to distribute and manage shared
   secrets such as static client secrets.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-oauth-spiffe-client-auth-03"/>
        </reference>
        <reference anchor="I-D.draft-ietf-oauth-rfc7523bis">
          <front>
            <title>Updates to OAuth 2.0 JSON Web Token (JWT) Client Authentication and Assertion-Based Authorization Grants</title>
            <author fullname="Michael B. Jones" initials="M. B." surname="Jones">
              <organization>Self-Issued Consulting</organization>
            </author>
            <author fullname="Brian Campbell" initials="B." surname="Campbell">
              <organization>Ping Identity</organization>
            </author>
            <author fullname="Chuck Mortimore" initials="C." surname="Mortimore">
              <organization>Disney</organization>
            </author>
            <author fullname="Filip Skokan" initials="F." surname="Skokan">
              <organization>Okta</organization>
            </author>
            <date day="28" month="April" year="2026"/>
            <abstract>
              <t>   This document updates RFC7521, RFC7522, RFC7523 and RFC9126 with
   respect to the treatment of audience values in OAuth 2.0 Client
   Assertion Authentication and Assertion-based Authorization Grants to
   address a security vulnerability identified in the previous
   requirements for those audience values in multiple OAuth 2.0
   specifications.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-oauth-rfc7523bis-11"/>
        </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>
        <reference anchor="OWASP.SSRF" target="https://cheatsheetseries.owasp.org/cheatsheets/Server_Side_Request_Forgery_Prevention_Cheat_Sheet.html">
          <front>
            <title>OWASP SSRF Cheat Sheet</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
      </references>
    </references>
    <?line 744?>

<section numbered="true" anchor="cimd-service-appendix">
      <name>CIMD Services for Development Purposes</name>
      <t>This appendix describes a non-normative pattern, referred to as a CIMD
Service, that an authorization server <bcp14>MAY</bcp14> offer to make development against
this specification easier.</t>
      <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>, as discussed in
<xref target="redirect_uri_relationship"/>. However, if an authorization server does
place additional restrictions on the accepted <tt>redirect_uris</tt> then it is
<bcp14>RECOMMENDED</bcp14> that it provide at least one CIMD Service which is exempt from
these restrictions, to support developers as described below.</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, an authorization server <bcp14>MAY</bcp14>
offer a CIMD Service.</t>
      <t>A CIMD Service is a web service through which developers can acquire a
stable Client Identifier URL that resolves 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>The only requirement on a CIMD Service is that it <bcp14>MUST</bcp14> return valid Client
ID Metadata Documents for the <tt>client_id</tt>s that it provisions, or return a
status code indicating an error response (e.g., 404 Not Found). How a CIMD
Service creates or stores metadata documents is outside of the scope of
this document.</t>
      <t>By providing at least one CIMD 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>
      <t>Operating a CIMD Service effectively means the authorization server is
performing a form of static client registration on behalf of the developer,
mediated through a URL rather than a direct registration API. Authorization
servers offering a CIMD Service should consider the security and reputation
implications discussed in <xref target="cimd_services"/>, and should ensure that clients
provisioned through a CIMD Service are not afforded the same level of trust
as clients that publish their own Client ID Metadata Document.</t>
    </section>
    <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, Joe DeCock, Justin Richer, 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>-03</t>
      <ul spacing="normal">
        <li>
          <t>Added requirement for clients to normalize their Client Identifier URLs</t>
        </li>
        <li>
          <t>Added an exception that is made for redirect URIs on the loopback, per RFC9700</t>
        </li>
        <li>
          <t>Clarify transient failures on fetching of client metadata</t>
        </li>
        <li>
          <t>Added paragraph allowing Authorization Servers to rate limit or otherwise prevent requests to Client Identifier URLs being made repeatedly</t>
        </li>
        <li>
          <t>Moved Client Authentication from Security Considerations to a new top-level section, and renamed the remaining Security Considerations subsection to Client Authentication Key Material</t>
        </li>
        <li>
          <t>Changed <tt>token_endpoint_auth_method</tt> to not be recommended in favour of <tt>token_endpoint_auth_methods_supported</tt></t>
        </li>
        <li>
          <t>Specified that the default <tt>token_endpoint_auth_method</tt> defined in RFC7591 does not apply, and that a Client ID Metadata Document omitting both client authentication properties indicates the <tt>none</tt> method</t>
        </li>
        <li>
          <t>Added <tt>token_endpoint_auth_methods_supported</tt> to the credential and key material restrictions</t>
        </li>
        <li>
          <t>Specified authorization server behaviour when it supports none of the token endpoint authentication methods declared by the client</t>
        </li>
        <li>
          <t>Clarified that the credential and key material restrictions also apply to metadata conveyed via <tt>software_statement</tt></t>
        </li>
        <li>
          <t>Add language to strengthen security of JWT based client authentication.</t>
        </li>
        <li>
          <t>Added requirement for <tt>jwks</tt>/<tt>jwks_uri</tt> to be present when using <tt>private_key_jwt</tt>.</t>
        </li>
        <li>
          <t>Added section distinguishing functional and informative URI-based properties, and clarified that <tt>client_uri</tt> is not restricted to the origin of the <tt>client_id</tt> or <tt>redirect_uris</tt></t>
        </li>
        <li>
          <t>Made prefetching <tt>logo_uri</tt> and serving it from a trusted server a requirement when displaying logos, and required validating the image contents</t>
        </li>
        <li>
          <t>Added security consideration on the presentation of the client to end-users</t>
        </li>
        <li>
          <t>Disallow the root path / as a CIMD URL</t>
        </li>
        <li>
          <t>Moved the client metadata consistency requirements from Security Considerations to Section 4, and renamed the section.</t>
        </li>
        <li>
          <t>Defined error handling when the Client ID Metadata Document cannot be retrieved or is invalid, and reclassified malformed documents as terminal failures</t>
        </li>
      </ul>
      <t>-02</t>
      <ul spacing="normal">
        <li>
          <t>Clarified loopback exception for SSRF checks</t>
        </li>
        <li>
          <t>More strongly recommend doing client authentication</t>
        </li>
        <li>
          <t>Clarified scope of applicability in the Introduction</t>
        </li>
        <li>
          <t>Renamed "client identifier" to "Client Identifier URL" to avoid implying all OAuth client identifiers are URLs</t>
        </li>
        <li>
          <t>Reformatted Client Identifier URL requirements as a list, and aligned terminology with RFC3986 (userinfo, authority)</t>
        </li>
        <li>
          <t>Clarified that Client Identifier URL comparison uses simple string comparison without default port normalization</t>
        </li>
        <li>
          <t>Clarified that URL shorteners are incompatible with the no-redirect requirement</t>
        </li>
        <li>
          <t>Clarified the relationship between associating and fetching client metadata</t>
        </li>
        <li>
          <t>Split "what is in the document" and "how to fetch the document" into separate top-level sections</t>
        </li>
        <li>
          <t>Moved the 200 OK requirement to the fetching process rather than the document definition</t>
        </li>
        <li>
          <t>Split client credential/key restrictions into their own subsection, and added a discussion of software_statement</t>
        </li>
        <li>
          <t>Moved Client ID Metadata Documents for Development Purposes to a non-normative appendix, and added discussion of its security and reputation implications</t>
        </li>
        <li>
          <t>Clarified applicability of redirect URI registration requirements to non-redirect-based grant types</t>
        </li>
        <li>
          <t>Moved Supporting Both Pre-Registered and Unregistered Clients and Pre-Registering Client ID Metadata Document URLs to a new Implementation Considerations section</t>
        </li>
        <li>
          <t>Removed normative language from Security Considerations where it was purely explanatory</t>
        </li>
        <li>
          <t>Clarified the SSRF loopback exception applies only to development and testing deployments</t>
        </li>
        <li>
          <t>Clarified the maximum response size guidance applies to how much data the authorization server reads, not the size of the file itself</t>
        </li>
        <li>
          <t>Added discussion of domain allowlists to Client ID Domain Trust</t>
        </li>
        <li>
          <t>Added a Privacy Considerations section</t>
        </li>
      </ul>
      <t>-01</t>
      <ul spacing="normal">
        <li>
          <t>Added security consideration for changes in Client Metadata</t>
        </li>
        <li>
          <t>Recommend sending Accept header when fetching 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:
H4sIAAAAAAAAA8V96XIcR7be/3qKMhRhkXO7mwRFbZjx3IG4jKARRZqgrmKu
Qgaqu7KBHFRXtauqAfbQ/On38LPYL+az5lJbgzO+4QnGqNFdS+bJk2f9zsn5
fJ60ti3MSXr0+nTXXqfPCmvKNj17nr4ybZZnbZY+r1a7DXx5lGTLZW1u4dpn
Z6+eHyWrrDVXVb0/SZs2T5K8WpXZBh6V19m6nVvTrudVBg+dr+ihc5vPN/LQ
eS4PnT/+Iml2y41tGluV7X4L95+9ePcyKXebpalPErjanCSrqmxM2eyak7St
dyaBQXyRZLXJYDDnZrWrbbs/Su6q+uaqrnZb+PYXs0xxRlVt/5618Oz0TV21
1aoqjpIbs4dL85MkTecpDTG5NeXO4Bf3uT9NeaBHv8ALbXmV/hlvwu83mS3g
e3rmn5ACi6q+wh+ubHu9W+pP87urR59CJXxCAYRoWnjCddtum5NH/IBmQTcv
StN+0hM/6eLFdbuBaScZ0YPJtt4VBS/3aVYjdWA1VjcWfktTmHNWCtlO0tc3
bUZfG6ZOhtf/acvXL1bVhn6EJTxJdWp0SXxF+MYXG1PYLD3fAFEHXmjL3GwN
/F/Zhu81dNeflnUGP+WrKjfDL2+vbWMb5EizWTTVymZFkpRVvYHH3xKPvH35
7Itvv/lKPn719dNv9eM3x/7jt4/l49dffnvsPj75Qj5+8+RLvfabp8dP9ePX
T76Uj98eH+sTvn3y+Gv9+PVj+vY1zPDs+eLtG92nz64ruzLNCU3IbWq6Kn1W
laVZtelbU+yRX2Gx2r3f4XJrerx4fES306ZLnzx+8hXsz/mTL/mZWX1lWk+n
Cp5tc+K8ZmtWjXwxX/HL5vXWc9KK3zA/vnhMzEQP9OyE/5unvLivFt8t0h+q
0jTyAy3vSXpuivX8rGl2Jsf5NLuihal0bn67SL83OQiOq/jmLkv4O35YpN/V
WV6YfXzHX3dLu6o6F79cpOc31U1WxtcShye2XIdMclbm1qAEiVfEfX00SFSL
P9OORpou6M87s0Qx8ihemifzx0/mx08mKNndmOdVAcvz+uz5s3hI/vuj3itg
9b8ZHGiDN23r6m+w1DS6d28f4S2PKpuv5vjp8Rdy69TonlXLXd0h51lZ77bd
dYLVh6ncFvbGXWzLZuB7veE5SIfapv+eXdl8V9jS7ZnJHfKsqs3APvgCKD0/
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

-->

</rfc>
