OAuth2 & OpenID Connect Deep Dive · درس

طلبات التفويض المدفوعة (PAR)

تعلّموا كيف تنقل طلبات التفويض المدفوعة ‏(RFC 9126) معلمات التفويض إلى استدعاء آمن عبر القناة الخلفية، مما يحسّن التكاملية والسرية في عمليات نشر OAuth2 المتقدمة.

الدرس 4 من 413 خطوة

طلبات التفويض المدفوعة (PAR) درس مجاني في OAuth2 & OpenID Connect Deep Dive على CoddyKit. هذا هو الدرس 4 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 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 مع معلم ذكاء اصطناعي — مجانًا

اكتب وقم بتشغيل أكوادك الفعلية في المتصفح، واحصل على مساعدة فورية من معلم ذكاء اصطناعي متاح 24/7، واستمر من حيث توقفت على الويب أو في التطبيق.

الدورات
12
الدروس
48

الأسئلة الشائعة

هل درس «طلبات التفويض المدفوعة (PAR)» مجاني؟

نعم — نص درس «طلبات التفويض المدفوعة (PAR)» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة OAuth2 & OpenID Connect Deep Dive، انتقل إلى CoddyKit PRO. تتضمن دورة OAuth2 & OpenID Connect Deep Dive 4 دروس في المجموع.

ماذا ستتعلم في «طلبات التفويض المدفوعة (PAR)»؟

تعلّموا كيف تنقل طلبات التفويض المدفوعة ‏(RFC 9126) معلمات التفويض إلى استدعاء آمن عبر القناة الخلفية، مما يحسّن التكاملية والسرية في عمليات نشر OAuth2 المتقدمة. تتمرن على OAuth2 & OpenID Connect Deep Dive مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 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 يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. FAPI وواجهات API ذات المستوى المالي
  2. DPoP (إثبات حيازة المفتاح)
  3. بروتوكول التقييم المستمر للوصول (CAEP)
  4. طلبات التفويض المدفوعة (PAR)
← العودة إلى OAuth2 & OpenID Connect Deep Dive