Approve on a separate browser
02The user follows instructions on a second device. A convenience link can remove typing, but it does not remove confirmation or consent.
Separate alternative: a complete-URI shortcut prefills session information. The client MUST still display user_code; the server SHOULD ask the user to compare it with the device.
Source for this drawing: RFC 8628 · Read RFC section 3.3 ↗
New to this? Start hereA quick picture + helpful background
A message needs an address.
Think of a packet as a small addressed envelope. Devices pass it onward; transport protocols decide what delivery promises an application gets.
Helpful first, if these ideas are unfamiliar
These pictures are analogies to help you learn. The linked RFC explains the actual rules.
Terms in this drawing
Related RFCs and changes
“Updates” changes part of an earlier RFC. “Obsoletes” replaces it. This list shows selected related documents.
The browser talks to the server; the device learns the result by polling.
- The device communicates user_code and verification_uri. The user navigates to that URI on a secondary device and authenticates in a TLS-protected session with the authorization server (§3.3). The device does not receive the user’s password in this flow.
- Servers MUST implement an interaction starting with navigation to verification_uri and supplying user_code at some stage. The exact login, code entry, sign-up and additional-check order is server-defined. The first three illustrated states are one possible sequence, not a mandated UI ordering (§3.3).
- The server should explain the action and offer approval or denial. When the interaction is complete, it tells the user to return to the device. Approval changes server-side authorization state; it is not a browser-to-TV callback or immediate access-token delivery (§§3.3–3.5).
- The fourth state is a separate optional shortcut, not a new step after approval. A client MAY convey verification_uri_complete using QR, NFC or another method opening the browser. It is RECOMMENDED to retain the textual verification_uri fallback, and clients MUST still display user_code (§3.3.1). The drawing is a labeled shortcut symbol, not a scannable QR code.
- The server SHOULD show user_code and ask the user to check that it matches the device. The user still gets an approve/deny choice; prefilled codes do not establish possession or trust. A code from an unsolicited message could belong to an attacker’s device (§§3.3.1,5.4).
A one-way instruction channel suffices. Real login, account creation and approval are not implemented by this educational scene.
Read the RFC section ↗