Visual RFC.
ALL RFCs / RFC 6749
Read the RFC ↗
RFC 6749 / THE FRAMEWORK

Two endpoints, two channels

03

The browser requests permission. The client exchanges grants at the token endpoint.

Related RFCs and changes

“Updates” changes part of an earlier RFC. “Obsoletes” replaces it. This list shows selected related documents.

DIAGRAM§ 3 ↗
RFC 6749 · § 3EXAMPLE
3 / 3
Two endpoints, two channelsThe browser requests permission. The client exchanges grants at the token endpoint. Current state: Use a separate token request..Two endpoints, two channelsClient○ ○ ○auth.exampleuser authorizationnavigateresponseToken endpointdirect grant exchange
03
Use a separate token request.

The client calls the token endpoint directly.

Protocol participantThreat or exceptionProtocol controlSimplified drawings · precise section references
WHAT CHANGED
RFC 6749 § 3.1.2RFC 9700 § 2.1

The BCP requires exact redirect matching, with the native localhost-port exception, and forbids open redirectors.

Read the updated RFC section ↗
KEY POINT

Do not confuse authorization with token exchange.

  • The authorization endpoint interacts with the resource owner; the token endpoint issues tokens from a grant.
  • Redirect destinations and response_type select how the authorization response returns.
  • The token endpoint uses POST and TLS; client authentication depends on client type and grant.
DETAILS

The drawing groups logical endpoints; they may live on the same authorization server.

Read the RFC section ↗

Diagrams simplify the RFC. Read the linked sections for complete requirements.

Privacy
All chapters in this RFC
  1. Four roles, one delegation
  2. Public and confidential clients
  3. Two endpoints, two channels
  4. Authorization code grant
  5. Implicit grant: historical behavior
  6. Password grant: now prohibited
  7. Client credentials and extension grants
  8. Token responses and failures
  9. Refresh without another prompt
  10. Scope and protected resources
  11. Native apps and security boundaries
RFC 9700 / CHAPTERS

Chapters

For full details, tables, algorithms, and exceptions, read the original RFC.

RFC status and corrections ↗