<?xml version="1.0" encoding="UTF-8"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc version 1.6.13 (Ruby 2.6.10) -->


<!DOCTYPE rfc  [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">

]>


<rfc ipr="trust200902" docName="draft-parecki-oauth-authorization-server-discovery-00" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true">
  <front>
    <title>OAuth 2.0 Authorization Server Discovery</title>

    <author fullname="Aaron Parecki">
      <organization>Okta</organization>
      <address>
        <email>aaron@parecki.com</email>
      </address>
    </author>
    <author fullname="Benjamin M. Schwartz">
      <organization>Google</organization>
      <address>
        <email>bemasc@google.com</email>
      </address>
    </author>

    <date year="2022" month="November" day="28"/>

    <area>Security</area>
    <workgroup>OAuth Working Group</workgroup>
    <keyword>authorization-server</keyword> <keyword>oauth</keyword> <keyword>resource-server</keyword> <keyword>authorization</keyword>

    <abstract>


<t>This specification provides a mechanism for an access-controlled HTTP resource to indicate which OAuth authorization server it is protected by.  This allows the use of OAuth 2.0 authorization by clients that do not have prior knowledge about the resource server's configuration.</t>



    </abstract>

    <note title="About This Document" removeInRFC="true">
      <t>
        The latest revision of this draft can be found at <eref target="https://aaronpk.github.io/oauth-authorization-server-discovery/draft-parecki-oauth-authorization-server-discovery.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-parecki-oauth-authorization-server-discovery/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/aaronpk/oauth-authorization-server-discovery"/>.</t>
    </note>


  </front>

  <middle>


<section anchor="introduction"><name>Introduction</name>

<t>In order to obtain an access token to access an HTTP resource, an OAuth 2.0 client needs to know the authorization server to use for the request. OAuth 2.0 <xref target="RFC6749"/> does not provide any mechanism for authorization server discovery, and other OAuth 2.0 extensions have left authorization server discovery out of scope as well.</t>

<t>This specification provides a mechanism for a resource server to indicate which authorization server it accepts access tokens issued by, so that an OAuth client can be configured with only the location of the resource server.</t>

<t>For example, an email client could provide an interface for a user to enter the URL of their JMAP server <xref target="RFC8620"/>. The email client would make a request to the JMAP server to discover the authorization server, then initiate an OAuth authorization flow to obtain tokens.</t>

<t>This specification extends the <spanx style="verb">WWW-Authenticate</spanx> response header defined by OAuth 2.0 Bearer Token Usage <xref target="RFC6750"/> to include an optional issuer URI (defined in OAuth 2.0 Authorization Server Metadata <xref target="RFC8414"/>) of the authorization server.</t>

<section anchor="usage-and-applicability"><name>Usage and Applicability</name>

<t>This specification is intended for use with access-controlled HTTP resources that conform to a standardized or well-known format or protocol.  When such resources proliferate, it becomes impractical for clients to maintain advance knowledge about every HTTP origin that offers such a resource.  Instead, in this specification, the client is presumed to be configured with a URI for this resource at runtime.</t>

<t>At present, access control in this situation is generally limited to the HTTP Basic and Digest authentication schemes.  These schemes use only a simple username and password, and cannot support modern authentication capabilities such as Two-Factor Authentication, Single Sign-On, and password recovery flows.  This specification enables clients to make use of these richer authentication procedures via the OAuth 2.0 system.</t>

<t>This specification can be used whether or not the authorization server has prior knowledge of the specific client implementation.  For example, an authorization server might restrict authorization to a small number of well-known clients, or it might authorize any compatible client.</t>

<t>Authorization Server Discovery allows an unrecognized resource to initiate an OAuth 2.0 authorization flow.  This carries significant security risks; see <xref target="security"/> for details.</t>

</section>
</section>
<section anchor="conventions-and-definitions"><name>Conventions and Definitions</name>

<t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>

<section anchor="terminology"><name>Terminology</name>

<t>This specification uses the terms "Access Token", "Authorization Code",
"Authorization Endpoint", "Authorization Server", "Client", "Client Authentication",
"Client Identifier", "Client Secret", "Grant Type", "Protected Resource",
"Redirection URI", "Refresh Token", "Resource Owner", "Resource Server", "Response Type",
and "Token Endpoint" defined by <xref target="RFC6749"/>, as well as
"Issuer", and "Issuer Identifier" defined by <xref target="RFC8414"/>.</t>

</section>
</section>
<section anchor="protocol-overview"><name>Protocol Overview</name>

<t>The following is a typical end-to-end flow implemented according to the specification. Note that while this example uses the OAuth 2.0 Authorization Code flow, a similar sequence could also be implemented with any other OAuth flow as well.</t>

<figure><artwork><![CDATA[
+----------+                                          +--------------+
|          |                                          |              |
|          |-------(1) resource request-------------->|              |
|          |                                          |              |
|          |<--(2) authorization server issuer--------|   Resource   |
|          |                                          |    Server    |
|  Client  |                                          |              |
|          |-------(7) resource request ------------->|              |
|          |                                          |              |
|          |<-----(8) protected resource -------------|              |
|          |                                          +--------------+
|          |
|          |
|          |                                         +---------------+
|          |-------(3) AS metadata request---------->|               |
|          |                                         |               |
|          |<-----(4) AS metadata response-----------|               |
|          |                                         |               |
|          |  +-------+                              |               |
|          |->|       |                              |               |
|          |  |       |--(5) authorization request-->|               |
|          |  | User  |                              |               |
|          |  | Agent |<-----------[...]------------>| Authorization |
|          |  |       |                              |     Server    |
|          |<-|       |                              |               |
|          |  +-------+                              |               |
|          |                                         |               |
|          |<-------- (6) access token --------------|               |
|          |                                         |               |
+----------+                                         +---------------+
]]></artwork></figure>

<t><list style="numbers">
  <t>The client makes a request to a protected resource without presenting an access token.</t>
  <t>The resource server responds with the <spanx style="verb">WWW-Authenticate</spanx> header including the issuer URI of the authorization server.</t>
  <t>The client builds the authorization server metadata URL from the provided issuer identifier according to <xref target="RFC8414"/>, and makes a request to fetch the authorization server metadata.</t>
  <t>The authorization server responds with the metadata document according to <xref target="RFC8414"/>.</t>
  <t>The client directs the user agent to the authorization server to begin the authorization flow.</t>
  <t>The authorization exchange is completed and the authorization server returns an access token to the client.</t>
  <t>The client repeats the resource request from step 1, presenting the newly obtained access token.</t>
  <t>The resource server returns the requested protected resource.</t>
</list></t>

</section>
<section anchor="www-authenticate-response"><name>WWW-Authenticate Response</name>

<t>This specification introduces a new parameter in the <spanx style="verb">WWW-Authenticate</spanx> response to indicate the issuer URI of the authorization server:</t>

<dl>
  <dt><spanx style="verb">issuer</spanx></dt>
  <dd>
    <t>The issuer identifier of the authorization server.</t>
  </dd>
</dl>

<t>The response below is an example of a <spanx style="verb">WWW-Authenticate</spanx> header that includes the <spanx style="verb">issuer</spanx> URL.</t>

<figure><sourcecode type="http"><![CDATA[
    HTTP/1.1 400 Bad Request
    WWW-Authenticate: Bearer error="invalid_request",
      error_description="No access token was provided in this request",
      issuer="https://as.example.com/issuer1"
]]></sourcecode></figure>

<t>The HTTP status code and <spanx style="verb">error</spanx> string in the response are defined by <xref target="RFC6750"/>.</t>

<t>The <spanx style="verb">issuer</spanx> parameter <bcp14>MAY</bcp14> be combined with other parameters defined in other extensions, such as the <spanx style="verb">max_age</spanx> parameter defined by <xref target="I-D.ietf-oauth-step-up-authn-challenge"/>.</t>

</section>
<section anchor="changes-to-the-issuer-url"><name>Changes to the issuer URL</name>

<t>At any point, for any reason determined by the resource server, the resource server <bcp14>MAY</bcp14> respond with a new <spanx style="verb">WWW-Authenticate</spanx> challenge, including a new value for the <spanx style="verb">issuer</spanx>. If the client receives a <spanx style="verb">WWW-Authenticate</spanx> response indicating that its current token is no longer valid, it is expected to start a new authorization flow, and <bcp14>SHOULD</bcp14> use the new issuer value indicated in the response. This enables a resource server to change which authorization server it uses without any other coordination with clients.</t>

</section>
<section anchor="client-identifier-and-client-authentication"><name>Client Identifier and Client Authentication</name>

<t>The way in which the client identifier is established at the authorization server is out of scope of this specification.</t>

<t>This specification is intended to be deployed in scenarios where the client has no prior knowledge about the resource server, and the resource server might or might not have prior knowledge about the client.</t>

<t>There are some existing methods by which an unrecognized client can make use of an authorization server, such as using Dynamic Client Registration <xref target="RFC7591"/> to register the client prior to initiating the authorization flow. Future extensions may define alternatives, such as using a URL to identify clients.</t>

</section>
<section anchor="security"><name>Security Considerations</name>

<section anchor="server-side-request-forgery-ssrf"><name>Server-Side Request Forgery (SSRF)</name>

<t>The client is expected to fetch the authorization server metadata based on the value of the <spanx style="verb">issuer</spanx> returned by the resource server. Since this specification is designed to allow clients to interoperate with RSs and ASs it has no prior knowledge of, this opens a risk for SSRF attacks by malicious users or malicious resource servers. Clients <bcp14>SHOULD</bcp14> take appropriate precautions against SSRF attacks, such as blocking requests to internal IP address ranges. Further recommendations can be found in the <eref target="https://cheatsheetseries.owasp.org/cheatsheets/Server_Side_Request_Forgery_Prevention_Cheat_Sheet.html">OWASP SSRF Prevention Cheat Sheet</eref>.</t>

</section>
<section anchor="phishing"><name>Phishing</name>

<t>This specification assumes that the desired HTTP resource is identified by a user-selected URL.  If this resource is malicious or compromised, it could mislead the user into revealing their account credentials or authorizing unwanted access to OAuth-controlled capabilities.  This risk is reduced, but not eliminated, by following best practices for OAuth user interfaces, such as providing clear notice to the user, displaying the authorization server's domain name, supporting the use of password managers, and applying heuristic checks such as domain reputation.</t>

<t>If the client does know the identity of the authorization server in advance, it <bcp14>SHOULD</bcp14> ignore the <spanx style="verb">issuer=...</spanx> parameter.  Otherwise, an attacker who compromises the resource server could mount a phishing attack via the authorization flow.</t>

</section>
</section>
<section anchor="operational-considerations"><name>Operational Considerations</name>

<section anchor="compatibility-with-other-authentication-methods"><name>Compatibility with other authentication methods</name>

<t>Resource servers <bcp14>MAY</bcp14> return other <spanx style="verb">WWW-Authenticate</spanx> headers indicating various authentication schemes.  This allows the resource server to support clients who may or may not implement this specification, and allows clients to choose their preferred authentication scheme.</t>

</section>
</section>
<section anchor="iana-considerations"><name>IANA Considerations</name>

<t>TBD</t>

</section>


  </middle>

  <back>


    <references title='Normative References'>





<reference anchor='RFC6749' target='https://www.rfc-editor.org/info/rfc6749'>
<front>
<title>The OAuth 2.0 Authorization Framework</title>
<author fullname='D. Hardt' initials='D.' role='editor' surname='Hardt'><organization/></author>
<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='RFC6750' target='https://www.rfc-editor.org/info/rfc6750'>
<front>
<title>The OAuth 2.0 Authorization Framework: Bearer Token Usage</title>
<author fullname='M. Jones' initials='M.' surname='Jones'><organization/></author>
<author fullname='D. Hardt' initials='D.' surname='Hardt'><organization/></author>
<date month='October' year='2012'/>
<abstract><t>This specification describes how to use bearer tokens in HTTP requests to access OAuth 2.0 protected resources.  Any party in possession of a bearer token (a &quot;bearer&quot;) can use it to get access to the associated resources (without demonstrating possession of a cryptographic key).  To prevent misuse, bearer tokens need to be protected from disclosure in storage and in transport.   [STANDARDS-TRACK]</t></abstract>
</front>
<seriesInfo name='RFC' value='6750'/>
<seriesInfo name='DOI' value='10.17487/RFC6750'/>
</reference>



<reference anchor='RFC8414' target='https://www.rfc-editor.org/info/rfc8414'>
<front>
<title>OAuth 2.0 Authorization Server Metadata</title>
<author fullname='M. Jones' initials='M.' surname='Jones'><organization/></author>
<author fullname='N. Sakimura' initials='N.' surname='Sakimura'><organization/></author>
<author fullname='J. Bradley' initials='J.' surname='Bradley'><organization/></author>
<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='RFC2119' target='https://www.rfc-editor.org/info/rfc2119'>
<front>
<title>Key words for use in RFCs to Indicate Requirement Levels</title>
<author fullname='S. Bradner' initials='S.' surname='Bradner'><organization/></author>
<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' target='https://www.rfc-editor.org/info/rfc8174'>
<front>
<title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
<author fullname='B. Leiba' initials='B.' surname='Leiba'><organization/></author>
<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 title='Informative References'>





<reference anchor='RFC7591' target='https://www.rfc-editor.org/info/rfc7591'>
<front>
<title>OAuth 2.0 Dynamic Client Registration Protocol</title>
<author fullname='J. Richer' initials='J.' role='editor' surname='Richer'><organization/></author>
<author fullname='M. Jones' initials='M.' surname='Jones'><organization/></author>
<author fullname='J. Bradley' initials='J.' surname='Bradley'><organization/></author>
<author fullname='M. Machulak' initials='M.' surname='Machulak'><organization/></author>
<author fullname='P. Hunt' initials='P.' surname='Hunt'><organization/></author>
<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='I-D.ietf-oauth-step-up-authn-challenge'>
   <front>
      <title>OAuth 2.0 Step-up Authentication Challenge Protocol</title>
      <author fullname='Vittorio Bertocci' initials='V.' surname='Bertocci'>
         <organization>Auth0/Okta</organization>
      </author>
      <author fullname='Brian Campbell' initials='B.' surname='Campbell'>
         <organization>Ping Identity</organization>
      </author>
      <date day='6' month='November' year='2022'/>
      <abstract>
	 <t>   It is not uncommon for resource servers to require different
   authentication strengths or freshness according to the
   characteristics of a request.  This document introduces a mechanism
   for a resource server to signal to a client that the authentication
   event associated with the access token of the current request doesn&#39;t
   meet its authentication requirements and specify how to meet them.
   This document also codifies a mechanism for a client to request that
   an authorization server achieve a specific authentication strength or
   freshness when processing an authorization request.

	 </t>
      </abstract>
   </front>
   <seriesInfo name='Internet-Draft' value='draft-ietf-oauth-step-up-authn-challenge-06'/>
   <format target='https://www.ietf.org/archive/id/draft-ietf-oauth-step-up-authn-challenge-06.txt' type='TXT'/>
</reference>



<reference anchor='RFC8620' target='https://www.rfc-editor.org/info/rfc8620'>
<front>
<title>The JSON Meta Application Protocol (JMAP)</title>
<author fullname='N. Jenkins' initials='N.' surname='Jenkins'><organization/></author>
<author fullname='C. Newman' initials='C.' surname='Newman'><organization/></author>
<date month='July' year='2019'/>
<abstract><t>This document specifies a protocol for clients to efficiently query, fetch, and modify JSON-based data objects, with support for push notification of changes and fast resynchronisation and for out-of- band binary data upload/download.</t></abstract>
</front>
<seriesInfo name='RFC' value='8620'/>
<seriesInfo name='DOI' value='10.17487/RFC8620'/>
</reference>




    </references>


<section numbered="false" anchor="acknowledgments"><name>Acknowledgments</name>

<t>The editors of this draft would like to thank the attendees of the IETF 115 OAuth Working Group and HTTP API Working Group where this proposal was initially presented. The editors would also like to thank....</t>

</section>


  </back>

<!-- ##markdown-source:
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
XNX9vxZ7YAgooP8Bx20BzhcvAAA=

-->

</rfc>

