Visual RFC.
ALL RFCs / RFC 9126
Read the RFC ↗
RFC 9126 / PUSHED AUTHORIZATION REQUESTS

Push first, then open the browser

01

The client sends request details directly to the authorization server; the browser later carries a reference to those details.

RFC 9126 · § 1.1EXAMPLE
3 / 3
Push first, then open the browserThree separate sequential scenes distinguish public client at left, browser below and authorization server at right. First the client sends authorization parameters directly to the PAR endpoint over HTTPS. Second server returns request_uri to client. Third browser sends the reference and client_id to the authorization endpoint after being directed by the client. The PAR response is not an authorization code, token or user grant. Same server hosts distinct endpoints.Push the details · carry a reference in the browserPublic clientAuthorization serverBrowserclient directs browserGET → /authorizeclient_id + request_uriResolve pushed requestNormal authorization and user interaction remain
03
Continue via the authorization endpoint.

The client directs the browser to the server with client_id and request_uri. The request still needs normal authorization processing and user interaction.

Source for this drawing: RFC 9126 · Read RFC section 1.1 ↗

Protocol participantThreat or exceptionProtocol controlSimplified drawings · precise section references
New to this? Start hereA quick picture + helpful background

A key is different from permission.

An app, a person, and a server have different roles. Follow who asks, who grants permission, and who checks the credential. A key in the drawing is an analogy, not a literal protocol field.

Helpful first, if these ideas are unfamiliar

These pictures are analogies to help you learn. The linked RFC explains the actual rules.

Related RFCs and changes

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

KEY POINT

PAR changes how an authorization request starts; it does not itself grant access.

  • The PAR endpoint is an HTTPS HTTP API at the authorization server. The client sends authorization parameters directly in a POST; the user agent is not the transport for that push.
  • After validation, the server returns a request_uri reference. The client directs the browser to the authorization endpoint with that reference and client_id.
  • User authentication, consent where applicable and the rest of OAuth still follow. A successful PAR response contains neither an authorization code nor an access token.
DETAILS

PAR reduces exposure of request details in browser URLs, but does not hide all later OAuth messages or authenticate a public app merely because it knows client_id. Endpoints drawn on the same server perform different jobs.

Read the RFC section ↗

All chapters in RFC 9126

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 ↗