Visual RFC.
ALL RFCs / RFC 8252
Read the RFC ↗
RFC 8252 / NATIVE-APP AUTHORIZATION

Leave login to the browser

01

The app delegates authentication to a separate browser security context.

Related RFCs and changes

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

DIAGRAM§ 4 ↗
RFC 8252 · § 4EXAMPLE
3 / 3
Leave login to the browserThe app delegates authentication to a separate browser security context. Current state: Return the grant to the native app..Leave login to the browserAppprocess boundary○ ○ ○browser-owned viewLogin · cookies · passwordopencode onlypassword remains in browser
03
Return the grant to the native app.

The app receives delegated authority rather than the password.

Protocol participantThreat or exceptionProtocol controlSimplified drawings · precise section references
WHAT CHANGED
RFC 6749 § 9RFC 8252 §§ 4, 8.12

The base framework described embedded and external options. This BCP requires the external user-agent pattern.

Read the updated RFC section ↗
KEY POINT

An external user-agent keeps credentials outside the app.

  • Native apps MUST NOT use embedded user-agents for authorization (§ 8.12).
  • An external user-agent prevents the app from reading page contents and browser cookies.
  • Browser-owned in-app tabs retain browser isolation; they are different from app-controlled webviews.
DETAILS

The visual placement of a browser tab inside an app does not determine the security boundary. Ownership and isolation do.

Read the RFC section ↗

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

Privacy
All chapters in this RFC
  1. Leave login to the browser
  2. A browser round trip, protected by PKCE
  3. Private-use callback schemes
  4. Claimed HTTPS callbacks
  5. Loopback callbacks on desktop
  6. Register the full callback
  7. Bind the response to the app’s request
  8. Fake browsers and client impersonation
  9. Server support and implicit-flow limits
RFC 9700 / CHAPTERS

Chapters

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

RFC status and corrections ↗