Visual RFC.
ALL RFCs / RFC 9700
Read the RFC ↗
RFC 9700 / THE FOUNDATIONS

Metadata, TLS & CORS

07

Discover the right endpoints, protect the channel, and distinguish browser redirects from cross-origin API calls.

Related RFCs and changes

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

DIAGRAM§ 2.6 ↗
RFC 9700 · § 2.6EXAMPLE
4 / 4
Metadata, TLS & CORSDiscover the right endpoints, protect the channel, and distinguish browser redirects from cross-origin API calls. Current state: Protect the resource request..Metadata, TLS & CORSissuer: https://auth.exampleauthorization_endpoint: /authorizetoken_endpoint: /tokenS256 support discovered○ ○ ○HTTPS navigationauthorization pageTLS + endpoint-specific browser access
04
Protect the resource request.

Use authenticated, encrypted communication to the resource server.

Protocol participantThreat or exceptionProtocol controlSimplified drawings · precise section references
WHAT CHANGED
RFC 6749 § 1.6RFC 8996 § 1.1 + RFC 9700 § 2.6

RFC 8996 replaces older TLS minimums with TLS 1.2 and prohibits old-version fallback. RFC 9700 also recommends metadata use and end-to-end TLS under BCP 195.

Read the updated RFC section ↗
KEY POINT

Configure securely. Transport securely.

  • Publishing and using authorization-server metadata is RECOMMENDED, including support detection for PKCE.
  • Authorization responses MUST NOT use unencrypted connections; native loopback redirects are the HTTP exception. End-to-end TLS is RECOMMENDED.
  • CORS MAY support browser-accessed token, metadata, JWKS, and registration endpoints. It MUST NOT be enabled at the authorization endpoint.
DETAILS

Metadata helps avoid endpoint mistakes and supports key rotation and cryptographic agility. It is not a replacement for validating issuer and destination. Proxy and postMessage boundaries get their own chapters.

Read the RFC section ↗

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

Privacy
All chapters in this RFC
  1. OAuth overview
  2. Authorization code + PKCE
  3. Retire unsafe grants
  4. Prevent token replay
  5. Limit token privileges
  6. Authenticate the client
  7. Metadata, TLS & CORS
  8. The attacker model
  9. Redirect URI validation
  10. Referer header leakage
  11. Browser history leakage
  12. Authorization server mix-up
  13. Authorization code injection
  14. Access token injection
  15. Cross-site request forgery
  16. PKCE downgrade
  17. Leakage at resource servers
  18. Misuse of stolen tokens
  19. Open redirection
  20. 307 credential forwarding
  21. TLS termination & proxies
  22. Refresh token protection
  23. Client as resource owner
  24. Clickjacking
  25. In-browser messaging
RFC 9700 / CHAPTERS

Chapters

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

RFC status and corrections ↗