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

Register the full callback

06

Record a native app’s client type and exact redirect URI, including its path.

Related RFCs and changes

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

DIAGRAM§ 8.4 ↗
RFC 8252 · § 8.4EXAMPLE
3 / 3
Register the full callbackRecord a native app’s client type and exact redirect URI, including its path. Current state: Reject an unregistered callback..Register the full callbackpublic native clientclient_id is publicfull callback URI registeredClientcallback matchlookalike rejectedembedded secret ≠ identity
03
Reject an unregistered callback.

The loopback-port exception is specific, not a general wildcard permission.

Protocol participantThreat or exceptionProtocol controlSimplified drawings · precise section references
KEY POINT

A shared application secret is not an identity proof.

  • Except for mechanisms provisioning per-instance secrets, native apps MUST be registered as public clients.
  • Servers MUST exactly match the registered redirect, except for the loopback port.
  • A secret embedded in all app copies MUST NOT be accepted as proof of client identity (§ 8.5).
DETAILS

A client_id identifies a registration. It is not a secret or an assurance that this app installation is authentic.

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 ↗