Internet-Draft OAuth 2.0 Roadmap May 2026
Chen & Su Expires 7 November 2026 [Page]
Workgroup:
OAuth Working Group
Internet-Draft:
draft-chen-oauth-roadmap-01
Published:
Intended Status:
Informational
Expires:
Authors:
M. Chen
China Mobile
L. Su
China Mobile

A Comprehensive Roadmap for OAuth 2.0 Standards and Drafts

Abstract

The OAuth 2.0 ecosystem has expanded significantly since the publication of RFC 6749, resulting in a complex landscape of extensions, security best practices (BCPs), and application-specific profiles. This complexity can be daunting for implementers, architects, and security auditors. This document serves as a comprehensive roadmap to navigate this landscape. It categorizes key RFCs and active Internet-Drafts into functional areas, explains the relationships between them, and provides context on their evolution. The goal is to help readers understand the current state-of-the-art, select the appropriate specifications for their use cases, and follow the latest security best practices, while also offering a glimpse into the future directions of the framework.

Status of This Memo

This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79.

Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet-Drafts is at https://datatracker.ietf.org/drafts/current/.

Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress."

This Internet-Draft will expire on 7 November 2026.

Table of Contents

1. Introduction

This document categorizes specifications within the OAuth ecosystem into three groups:

This roadmap is intended to guide implementers, architects, and security professionals through the extensive library of OAuth specifications, helping them select the appropriate documents for their use cases.

      +-------------------------------------------------+
      |             Core: RFC 6749 (OAuth 2.0)          |
      |             Core: RFC 6750 (Bearer Token)       |
      +------------------------+------------------------+
                               |
            +------------------+------------------+
            |                                     |
+-----------v------------+             +-----------v-----------+
|   OAuth 2.1 (Draft)    |             |Security BCP (RFC 9700)|
|(Consolidates & Hardens)|             | (Overall Guidance)    |
+------------------------+             +-----------------------+
            |
+-----------+------------------------------------------------------------+
| Foundational Extensions & Security Mechanisms                          |
+------------------------------------------------------------------------+
|                                                                        |
|  - RFC 7636 (PKCE): Protects code flow                                 |
|  - RFC 9126 (PAR) / RFC 9101 (JAR): Protect authorization requests     |
|  - RFC 9449 (DPoP) / RFC 8705 (mTLS): Sender-constrains tokens         |
|  - RFC 8707 (Resource Indicators): Prevents token misuse               |
|  - RFC 7519 (JWT)/ RFC 9068(JWT AT Profile): Token format & profile    |
|  - RFC 8414 (AS Metadata): Enables server discovery                    |
|                                                                        |
+------------------------------------------------------------------------+
            |
+-----------+------------------------------------------------------------+
| Advanced Capabilities & Grant Types                                    |
+------------------------------------------------------------------------+
|                                                                        |
|  - RFC 8693 (Token Exchange): Service-to-service delegation            |
|  - RFC 8628 (Device Grant): Input-constrained devices                  |
|  - RFC 9396 (RAR): Fine-grained authorization                          |
|                                                                        |
+------------------------------------------------------------------------+

   Figure 1: High-Level Relationship of Core OAuth 2.0 Specifications

2. Terminology

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 RFC2119 [RFC8174].

Readers are expected to be familiar with the terms and concepts described in the core OAuth 2.0 Framework [RFC6749].

3. Core & Foundational Documents

4. Security Framework & Best Practices

4.1. Overall Security Guidance

  • RFC 6819, OAuth 2.0 Threat Model and Security Considerations (I): An early comprehensive security document that analyzes various threat models (e.g., token leakage, open redirectors) and proposes countermeasures. While still useful, many of its recommendations have been superseded by RFC9700.

  • RFC 9700, OAuth 2.0 Security Best Current Practice (B): The current definitive security guide. It consolidates the latest security lessons and provides a concrete set of recommendations that all modern implementations SHOULD follow.

  • draft-ietf-oauth-security-topics-update (Draft): The draft name for the work that eventually became RFC9700, representing the continuous evolution of security guidance within the working group.

4.2. Protecting the Authorization Flow

  • RFC 7636, Proof Key for Code Exchange (PKCE) (S): Protects the Authorization Code flow from interception attacks. Originally designed for public clients (like mobile apps) that cannot securely store a secret, PKCE is now a BCP for all client types, including confidential ones, as it provides a robust defense-in-depth against code injection.

  • RFC 9101, JWT-Secured Authorization Request (JAR) (S): Ensures the integrity and authenticity of authorization request parameters by packaging them into a signed (and optionally encrypted) JWT. This prevents attackers from tampering with parameters like redirect_uri or scope.

  • RFC 9126, Pushed Authorization Requests (PAR) (S): Enhances security and privacy by allowing a client to push its authorization request parameters directly to the authorization server via a secure backchannel. This returns a request_uri which the client then sends through the browser. PAR protects request parameters from being exposed to the user agent (browser) or in server logs, and it works very well in combination with JAR for a fully secured request.

4.3. Securing Access Tokens (Sender-Constraining)

  • RFC 8705, Mutual-TLS Client Authentication and Certificate-Bound Access Tokens (S): A powerful mechanism that provides two functions: first, it defines a strict client authentication method using TLS certificates. Second, it enables the binding of access tokens to a specific client certificate, ensuring that even if a token is stolen, it cannot be used by an attacker who does not possess the client's private key.

  • RFC 9449, Demonstrating Proof-of-Possession (DPoP) (S): A lightweight, application-level sender-constraint mechanism. It binds a token to a specific client's public/private key pair without relying on mutual-TLS. This makes it suitable for browser-based applications and other environments where mTLS is difficult to deploy.

  • draft-ietf-oauth-refresh-token-expiration (Draft): Provides critical security best practices for refresh tokens, including recommendations for rotation (issuing a new refresh token with each use) and setting expiration policies to mitigate the risks of refresh token leakage.

4.4. Mitigating Logical & Implementation Flaws

  • RFC 8707, Resource Indicators for OAuth 2.0 (S): Allows a client to specify the intended resource server (API) during the authorization request. This enables the Authorization Server to issue an audience-restricted token, preventing a token intended for one API from being replayed at another.

  • RFC 9207, Authorization Server Issuer Identification (S): Prevents "mix-up" attacks where a malicious authorization server could trick a client into sending a code to the wrong token endpoint. It requires the AS to declare its issuer identifier and clients/RSs to validate it.

  • draft-ietf-oauth-mix-up-mitigation (Draft): Provides comprehensive strategies to mitigate various "mix-up attacks" where a credential (e.g., a code, token, or client secret) might be sent to the wrong entity, expanding on the protections offered by RFC9207.

  • draft-ietf-oauth-cross-device-security (Draft): Specifically analyzes and proposes mitigations for security threats in cross-device flows, such as the Device Authorization Grant (RFC8628).

4.5. Advanced Client Authentication

  • draft-ietf-oauth-attestation-based-client-auth (Draft): Defines a client authentication method where the client must provide an attestation from a trusted third party (e.g., a device manufacturer or platform vendor), suitable for high-security scenarios where the client's integrity must be verified.

  • draft-ietf-oauth-spiffe-client-auth (Draft): Defines client authentication using SPIFFE SVIDs (Verifiable Identity Documents), designed to provide strong, cryptographic workload identity in cloud-native and service mesh environments.

5. Token Management & Formats

6. Client Registration, Metadata & Discovery

7. Grant Types & Assertion Framework

8. Advanced Authorization Capabilities

9. Client-Specific Profiles & BCPs

10. Relationship with OpenID Connect

While this document focuses on the OAuth 2.0 authorization framework, it is crucial to mention OpenID Connect (OIDC) [OIDC]. OIDC is a simple identity layer built on top of OAuth 2.0 that provides authentication and enables clients to verify the identity of the end-user. Many modern OAuth deployments use OIDC for user login and to obtain an ID Token, and then leverage standard OAuth mechanisms for API authorization using the Access Token. Understanding the distinction and synergy between OAuth (for "what a user can do") and OIDC (for "who the user is") is fundamental for many use cases.

It is also worth noting the historical influence of the OpenID Foundation on the IETF OAuth working group. Several key OAuth specifications were heavily inspired by, and are often compatible with, earlier standards from the OpenID Connect suite. For example, the discovery mechanisms in OAuth 2.0 Authorization Server Metadata [RFC8414] are based on the earlier OpenID Connect Discovery specification. Similarly, OAuth 2.0 Dynamic Client Registration [RFC7591] builds upon its OpenID Connect counterpart. The concept of passing authorization request parameters in a JWT was also first specified in OpenID Connect Core before being formally adopted in the IETF as JWT-Secured Authorization Request (JAR) [RFC9101].

11. Advanced & Emerging Technologies

Specifications in this area often intersect with decentralized identity, Verifiable Credentials (VCs), and privacy-enhancing technologies.

12. Historical & Superseded Documents

These expired drafts are valuable for understanding the evolution of OAuth. They represent early explorations of ideas, some of which evolved into the standards we use today.

13. IANA Considerations

This document has no IANA actions.

14. Security Considerations

This document is a roadmap that provides a guide to the OAuth 2.0 family of specifications; it does not define a protocol itself. As such, it does not introduce any new security considerations. The security of an OAuth 2.0 implementation depends on the proper application of the standards and best practices described in the referenced documents.

Readers are strongly encouraged to consult the security considerations sections of each individual RFC and draft. In particular, the following documents provide comprehensive security guidance and are considered essential reading for all implementers:

Implementers should pay close attention to the evolution of security drafts, such as draft-ietf-oauth-v2-1, which aim to simplify and harden the core framework.

15. Acknowledgements

The authors would like to thank Julius Cordes for his valuable review and suggestions.

16. References

16.1. Normative References

[RFC2119]
Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, , <https://www.rfc-editor.org/rfc/rfc2119>.
[RFC6749]
Hardt, D., Ed., "The OAuth 2.0 Authorization Framework", RFC 6749, DOI 10.17487/RFC6749, , <https://www.rfc-editor.org/rfc/rfc6749>.
[RFC6750]
Jones, M. and D. Hardt, "The OAuth 2.0 Authorization Framework: Bearer Token Usage", RFC 6750, DOI 10.17487/RFC6750, , <https://www.rfc-editor.org/rfc/rfc6750>.
[RFC7009]
Lodderstedt, T., Ed., Dronia, S., and M. Scurtescu, "OAuth 2.0 Token Revocation", RFC 7009, DOI 10.17487/RFC7009, , <https://www.rfc-editor.org/rfc/rfc7009>.
[RFC7519]
Jones, M., Bradley, J., and N. Sakimura, "JSON Web Token (JWT)", RFC 7519, DOI 10.17487/RFC7519, , <https://www.rfc-editor.org/rfc/rfc7519>.
[RFC7521]
Campbell, B., Mortimore, C., Jones, M., and Y. Goland, "Assertion Framework for OAuth 2.0 Client Authentication and Authorization Grants", RFC 7521, DOI 10.17487/RFC7521, , <https://www.rfc-editor.org/rfc/rfc7521>.
[RFC7523]
Jones, M., Campbell, B., and C. Mortimore, "JSON Web Token (JWT) Profile for OAuth 2.0 Client Authentication and Authorization Grants", RFC 7523, DOI 10.17487/RFC7523, , <https://www.rfc-editor.org/rfc/rfc7523>.
[RFC7591]
Richer, J., Ed., Jones, M., Bradley, J., Machulak, M., and P. Hunt, "OAuth 2.0 Dynamic Client Registration Protocol", RFC 7591, DOI 10.17487/RFC7591, , <https://www.rfc-editor.org/rfc/rfc7591>.
[RFC7592]
Richer, J., Ed., Jones, M., Bradley, J., and M. Machulak, "OAuth 2.0 Dynamic Client Registration Management Protocol", RFC 7592, DOI 10.17487/RFC7592, , <https://www.rfc-editor.org/rfc/rfc7592>.
[RFC7636]
Sakimura, N., Ed., Bradley, J., and N. Agarwal, "Proof Key for Code Exchange by OAuth Public Clients", RFC 7636, DOI 10.17487/RFC7636, , <https://www.rfc-editor.org/rfc/rfc7636>.
[RFC7662]
Richer, J., Ed., "OAuth 2.0 Token Introspection", RFC 7662, DOI 10.17487/RFC7662, , <https://www.rfc-editor.org/rfc/rfc7662>.
[RFC8174]
Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, , <https://www.rfc-editor.org/rfc/rfc8174>.
[RFC8414]
Jones, M., Sakimura, N., and J. Bradley, "OAuth 2.0 Authorization Server Metadata", RFC 8414, DOI 10.17487/RFC8414, , <https://www.rfc-editor.org/rfc/rfc8414>.
[RFC8628]
Denniss, W., Bradley, J., Jones, M., and H. Tschofenig, "OAuth 2.0 Device Authorization Grant", RFC 8628, DOI 10.17487/RFC8628, , <https://www.rfc-editor.org/rfc/rfc8628>.
[RFC8693]
Jones, M., Nadalin, A., Campbell, B., Ed., Bradley, J., and C. Mortimore, "OAuth 2.0 Token Exchange", RFC 8693, DOI 10.17487/RFC8693, , <https://www.rfc-editor.org/rfc/rfc8693>.
[RFC8705]
Campbell, B., Bradley, J., Sakimura, N., and T. Lodderstedt, "OAuth 2.0 Mutual-TLS Client Authentication and Certificate-Bound Access Tokens", RFC 8705, DOI 10.17487/RFC8705, , <https://www.rfc-editor.org/rfc/rfc8705>.
[RFC8707]
Campbell, B., Bradley, J., and H. Tschofenig, "Resource Indicators for OAuth 2.0", RFC 8707, DOI 10.17487/RFC8707, , <https://www.rfc-editor.org/rfc/rfc8707>.
[RFC9068]
Bertocci, V., "JSON Web Token (JWT) Profile for OAuth 2.0 Access Tokens", RFC 9068, DOI 10.17487/RFC9068, , <https://www.rfc-editor.org/rfc/rfc9068>.
[RFC9101]
Sakimura, N., Bradley, J., and M. Jones, "The OAuth 2.0 Authorization Framework: JWT-Secured Authorization Request (JAR)", RFC 9101, DOI 10.17487/RFC9101, , <https://www.rfc-editor.org/rfc/rfc9101>.
[RFC9126]
Lodderstedt, T., Campbell, B., Sakimura, N., Tonge, D., and F. Skokan, "OAuth 2.0 Pushed Authorization Requests", RFC 9126, DOI 10.17487/RFC9126, , <https://www.rfc-editor.org/rfc/rfc9126>.
[RFC9207]
Meyer zu Selhausen, K. and D. Fett, "OAuth 2.0 Authorization Server Issuer Identification", RFC 9207, DOI 10.17487/RFC9207, , <https://www.rfc-editor.org/rfc/rfc9207>.
[RFC9396]
Lodderstedt, T., Richer, J., and B. Campbell, "OAuth 2.0 Rich Authorization Requests", RFC 9396, DOI 10.17487/RFC9396, , <https://www.rfc-editor.org/rfc/rfc9396>.
[RFC9449]
Fett, D., Campbell, B., Bradley, J., Lodderstedt, T., Jones, M., and D. Waite, "OAuth 2.0 Demonstrating Proof of Possession (DPoP)", RFC 9449, DOI 10.17487/RFC9449, , <https://www.rfc-editor.org/rfc/rfc9449>.
[RFC9728]
Jones, M.B., Hunt, P., and A. Parecki, "OAuth 2.0 Protected Resource Metadata", RFC 9728, DOI 10.17487/RFC9728, , <https://www.rfc-editor.org/rfc/rfc9728>.
[RFC9901]
Fett, D., Yasuda, K., and B. Campbell, "Selective Disclosure for JSON Web Tokens", RFC 9901, DOI 10.17487/RFC9901, , <https://www.rfc-editor.org/rfc/rfc9901>.

16.2. Informative References

[RFC6819]
Lodderstedt, T., Ed., McGloin, M., and P. Hunt, "OAuth 2.0 Threat Model and Security Considerations", RFC 6819, DOI 10.17487/RFC6819, , <https://www.rfc-editor.org/rfc/rfc6819>.
[RFC8252]
Denniss, W. and J. Bradley, "OAuth 2.0 for Native Apps", BCP 212, RFC 8252, DOI 10.17487/RFC8252, , <https://www.rfc-editor.org/rfc/rfc8252>.
[RFC8725]
Sheffer, Y., Hardt, D., and M. Jones, "JSON Web Token Best Current Practices", BCP 225, RFC 8725, DOI 10.17487/RFC8725, , <https://www.rfc-editor.org/rfc/rfc8725>.
[OIDC]
OpenID Foundation, "OpenID Connect", n.d., <https://openid.net/connect/>.

Appendix A. References

Authors' Addresses

Meiling Chen
China Mobile
BeiJing
China
Li Su
China Mobile
BeiJing
China