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

Loopback callbacks on desktop

05

A temporary local listener can receive the browser’s authorization response.

Related RFCs and changes

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

DIAGRAM§ 7.3 ↗
RFC 8252 · § 7.3EXAMPLE
4 / 4
Loopback callbacks on desktopA temporary local listener can receive the browser’s authorization response. Current state: Check the transaction and close the listener..Loopback callbacks on desktophttp://127.0.0.1:port/callbacksame device · loopback interfaceBrowserClosedHTTP callback
04
Check the transaction and close the listener.

Exchange the code with its verifier over the protected token channel.

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

Bind only to the loopback interface.

  • Use loopback IP literals and an available ephemeral port; servers MUST allow the port to vary.
  • Try IPv4 and IPv6 as supported. Listen only for the authorization transaction, then close the port.
  • The local redirect may use HTTP because it stays on the device; localhost names are NOT RECOMMENDED (§ 8.3).
DETAILS

Other local apps may still intercept some loopback flows. The local transport exception does not remove the PKCE requirement.

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

Drawing view

Scroll the drawing to see every part. Playback controls stay above it.

RFC 9700 / CHAPTERS

Chapters

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

RFC status and corrections ↗