| CARVIEW |
Select Language
HTTP/2 301
date: Sun, 28 Dec 2025 09:20:24 GMT
content-type: text/html
location: https://oauth.net/2.1/
server: cloudflare
nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
cf-cache-status: DYNAMIC
report-to: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=WIETFvFqcDyDxdL0EpQH9sUNArvFPXjFOJfjR0IvTBbA%2Fp4wFRs%2BqRR4PbMfSFIjEWwKzdsZSgFmfIVNf7mFoY2lBdxlLUdnaA%3D%3D"}]}
cf-ray: 9b4ffb48ff7485ab-BOM
alt-svc: h3=":443"; ma=86400
HTTP/2 200
date: Sun, 28 Dec 2025 09:20:25 GMT
content-type: text/html; charset=UTF-8
server: cloudflare
x-pingback: https://webmention.io/oauth/xmlrpc
link: ; rel="webmention"
nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
cf-cache-status: DYNAMIC
report-to: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=6h9he3r7DSlUtafa7nT2IVnVW%2FnE1axZUajmFoLcDXOxMafoXRpolA911WG0rKPcuIJ0Xs0g5atRgEnx0QMp3UCz7adBOIaJ8g%3D%3D"}]}
content-encoding: gzip
cf-ray: 9b4ffb4ab83185ab-BOM
alt-svc: h3=":443"; ma=86400
OAuth 2.1
oauth.net/2.1/
Featured Video Course: The Nuts & Bolts of OAuth 2.0
OAuth 2.1
datatracker.ietf.org/doc/html/draft-ietf-oauth-v2-1
OAuth 2.1 is an in-progress effort to consolidate and simplify the most commonly used features of OAuth 2.0.
Since the original publication of OAuth 2.0 (RFC 6749) in 2012, several new RFCs have been published that either add or remove functionality from the core spec, including OAuth 2.0 for Native Apps (RFC 8252), Proof Key for Code Exchange (RFC 7636), OAuth for Browser-Based Apps, and OAuth 2.0 Security Best Current Practice.
OAuth 2.1 consolidates the changes published in later specs to simplify the core document.
The major differences from OAuth 2.0 are listed below.
- PKCE is required for all OAuth clients using the authorization code flow
- Redirect URIs must be compared using exact string matching
- The Implicit grant (
response_type=token) is omitted from this specification - The Resource Owner Password Credentials grant is omitted from this specification
- Bearer token usage omits the use of bearer tokens in the query string of URIs
- Refresh tokens for public clients must either be sender-constrained or one-time use
- The definitions of public and confidential clients have been simplified to only refer to whether the client has credentials
More resources
- It's Time for OAuth 2.1 (by Aaron Parecki)
- What's new in OAuth 2.1? (Dan Moore, fusionauth.io)
- OAuth 2.1: How Many RFCs Does it Take to Change a Lightbulb? (by Lee McGovern)
- What's New with OAuth and OpenID Connect? - Oktane Live (Aaron Parecki)
- Differences between OAuth 2 and OAuth 2.1 (by Dan Moore)