OAuth2 & OpenID Connect Deep Dive · บทเรียน

คำขอการมอบสิทธิ์แบบผลัก (PAR)

เรียนรู้วิธีที่คำขอการมอบสิทธิ์แบบผลัก (RFC 9126) ย้ายพารามิเตอร์การมอบสิทธิ์ไปยังการเรียกช่องทางเบื้องหลังที่ปลอดภัย เพื่อเพิ่มความถูกต้องครบถ้วนและการรักษาความลับสำหรับการใช้งาน OAuth2 ขั้นสูง

บทเรียน 4 จาก 413 ขั้นตอน

คำขอการมอบสิทธิ์แบบผลัก (PAR) เป็นบทเรียน OAuth2 & OpenID Connect Deep Dive ฟรีบน CoddyKit นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน OAuth2 & OpenID Connect Deep Dive และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส OAuth2 & OpenID Connect Deep Dive มีบทเรียนทั้งหมด 4 บทเรียน

บางส่วนของบทเรียนนี้ยังไม่ได้รับการแปล และแสดงเป็นภาษาอังกฤษ

The Front-Channel Problem

Normally authorization parameters travel in the browser URL to /authorize. They are visible, can be tampered with, and get long when requests are rich (claims, multiple resources). PAR moves them to a trusted back-channel.

What PAR Does

With Pushed Authorization Requests (RFC 9126), the client first POSTs all authorization parameters directly to a new pushed_authorization_request endpoint. The server stores them and returns a request_uri handle.

Step 1: Push the Request

The client authenticates and sends the parameters server-to-server.

POST /par HTTP/1.1
Host: op.example.com
Content-Type: application/x-www-form-urlencoded
Authorization: Basic <client creds>

response_type=code&client_id=app123
&scope=openid profile&redirect_uri=https://app/cb
&state=xyz&code_challenge=...&code_challenge_method=S256

Step 2: Receive request_uri

The server validates and stores the request, returning a one-time request_uri plus an expiry.

{
  "request_uri": "urn:ietf:params:oauth:request_uri:6esc_11ACC5bwc014ltc14",
  "expires_in": 60
}

Step 3: Redirect With the Handle

Now the browser redirect to /authorize carries only the client_id and the request_uri — nothing sensitive in the URL.

GET /authorize?client_id=app123
  &request_uri=urn:ietf:params:oauth:request_uri:6esc_11ACC5bwc014ltc14

Integrity and Confidentiality

Because parameters were pushed over an authenticated TLS channel, the user-agent cannot tamper with them, and they are not exposed in browser history, logs, or referrer headers. This raises assurance significantly.

Client Authentication at PAR

The PAR endpoint requires the client to authenticate (secret, mTLS, or private_key_jwt). This means the authorization request itself is tied to a verified client before the user ever sees the consent screen.

Short-Lived, One-Time Handles

The request_uri is short-lived (often 60 seconds) and intended for single use. After the authorization request consumes it, it cannot be replayed.

PAR and FAPI

PAR is a building block of FAPI 2.0 and financial-grade security profiles, where front-channel tampering must be eliminated. Many high-assurance deployments mandate PAR for all authorization requests.

Discovery Support

Providers advertise PAR via discovery metadata, including pushed_authorization_request_endpoint and optionally require_pushed_authorization_requests to enforce it.

{
  "pushed_authorization_request_endpoint": "https://op.example.com/par",
  "require_pushed_authorization_requests": true
}

When to Use PAR

Adopt PAR for confidential clients in regulated or high-value contexts, when requests carry sensitive parameters, or when you want to guarantee request integrity. It pairs naturally with PKCE and mTLS-bound tokens.

Quick Check

Test your PAR knowledge.

Recap

Pushed Authorization Requests (RFC 9126) move authorization parameters to a back-channel.

  • The client POSTs parameters to the PAR endpoint and gets a request_uri.
  • The browser redirect carries only client_id + request_uri.
  • This guarantees request integrity/confidentiality and authenticates the client up front.
  • PAR is a cornerstone of FAPI-grade security.
เริ่มต้นได้ฟรี

เรียนรู้ OAuth2 & OpenID Connect Deep Dive ด้วย AI tutor — ฟรี

เขียนและเรียกใช้โค้ดจริงในเบราว์เซอร์ของคุณ รับความช่วยเหลือทันทีจาก AI tutor 24/7 และเรียนรู้ต่อจากที่คุณหยุดบนเว็บหรือในแอป

คอร์ส
12
บทเรียน
48

คำถามที่พบบ่อย

บทเรียน “คำขอการมอบสิทธิ์แบบผลัก (PAR)” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “คำขอการมอบสิทธิ์แบบผลัก (PAR)” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส OAuth2 & OpenID Connect Deep Dive ให้อัปเกรดเป็น CoddyKit PRO คอร์ส OAuth2 & OpenID Connect Deep Dive มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “คำขอการมอบสิทธิ์แบบผลัก (PAR)”

เรียนรู้วิธีที่คำขอการมอบสิทธิ์แบบผลัก (RFC 9126) ย้ายพารามิเตอร์การมอบสิทธิ์ไปยังการเรียกช่องทางเบื้องหลังที่ปลอดภัย เพื่อเพิ่มความถูกต้องครบถ้วนและการรักษาความลับสำหรับการใช้งาน OAuth2 ขั้นสูง คุณปฏิบัติ OAuth2 & OpenID Connect Deep Dive ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน OAuth2 & OpenID Connect Deep Dive หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน OAuth2 & OpenID Connect Deep Dive บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน

บทเรียน “คำขอการมอบสิทธิ์แบบผลัก (PAR)” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน OAuth2 & OpenID Connect Deep Dive นี้ได้ไหม

ได้ บทเรียน OAuth2 & OpenID Connect Deep Dive ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. FAPI และ API ระดับการเงิน
  2. DPoP (การพิสูจน์การครอบครอง)
  3. โพรโทคอลประเมินการเข้าถึงอย่างต่อเนื่อง (CAEP)
  4. คำขอการมอบสิทธิ์แบบผลัก (PAR)
← กลับไปที่ OAuth2 & OpenID Connect Deep Dive