طلب المطالبات والمطالبات المجمّعة
تعلّموا كيف يتيح OpenID Connect للعملاء طلب مطالبات محددة باستخدام معلمة claims، وكيف توفّر المطالبات الموزّعة والمجمّعة تأكيدات من مصادر خارجية.
طلب المطالبات والمطالبات المجمّعة درس مجاني في OAuth2 & OpenID Connect Deep Dive على CoddyKit. هذا هو الدرس 4 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في OAuth2 & OpenID Connect Deep Dive، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة OAuth2 & OpenID Connect Deep Dive 4 دروس في المجموع.
بعض أجزاء هذا الدرس لم تُترجم بعد وتظهر باللغة الإنجليزية.
Requesting Specific Claims
Beyond scopes like profile or email, OIDC offers a finer-grained claims request parameter. It lets a client ask for individual claims and target where they appear: in the ID token or from UserInfo.
The claims Parameter Shape
The claims parameter is a JSON object with two top-level members: id_token and userinfo. Each maps claim names to a value describing how they are requested.
{
"id_token": { "auth_time": { "essential": true } },
"userinfo": { "email": null, "email_verified": null }
}essential, value, values
Each requested claim can specify:
essential: true— the client really needs it.value— request that the claim equals a specific value.values— request one of several allowed values.
{ "acr": { "essential": true,
"values": ["urn:mace:incommon:iap:silver"] } }Sending It in the Request
The JSON is URL-encoded and sent as the claims query parameter on the authorization request.
GET /authorize?response_type=code
&client_id=app123&scope=openid
&claims=%7B%22id_token%22%3A%7B%22auth_time%22%3A%7B%22essential%22%3Atrue%7D%7D%7DWhy Not Just Scopes?
Scopes bundle many claims at once. The claims parameter is for when you need precision — a single specific claim, an essential requirement, or a constraint on its value. It complements scopes rather than replacing them.
Aggregated Claims
Sometimes claims come from a third party the OP trusts. Aggregated claims are bundled by the OP as a signed JWT from the external claims provider and returned inline, so the client gets verifiable assertions without extra calls.
Aggregated Claims Format
The OP references them via _claim_names (which claim came from which source) and _claim_sources (the JWT holding them).
{
"_claim_names": { "address": "src1" },
"_claim_sources": {
"src1": { "JWT": "eyJhbGciOi..." }
}
}Distributed Claims
Distributed claims are not embedded; instead the OP gives an endpoint and access token so the client can fetch them directly from the external source when needed.
{
"_claim_names": { "payment_info": "src2" },
"_claim_sources": {
"src2": {
"endpoint": "https://bank.example.com/claims",
"access_token": "ksj3n283dke"
}
}
}Aggregated vs Distributed
The trade-off:
- Aggregated — claims travel inline, fewer round-trips, larger token.
- Distributed — claims fetched on demand, smaller token, extra request and live availability of the source.
Processing External Claims
For aggregated claims, verify the embedded JWT's signature against the claims provider's keys. For distributed claims, call the endpoint with the supplied access token and validate the returned JWT before trusting any values.
When to Use These
External claim mechanisms shine in federations: an identity provider asserts who you are, while a bank or government source asserts verified attributes. They keep sensitive data at its authoritative source.
Quick Check
Test your understanding of claim requests.
Recap
The claims parameter enables fine-grained, essential, or value-constrained claim requests targeting the ID token or UserInfo.
essential,value, andvaluesrefine each request.- Aggregated claims are embedded inline as signed JWTs.
- Distributed claims are fetched from an external endpoint.
- Always verify external claim signatures before trusting them.
تعلم OAuth2 & OpenID Connect Deep Dive مع معلم ذكاء اصطناعي — مجانًا
اكتب وقم بتشغيل أكوادك الفعلية في المتصفح، واحصل على مساعدة فورية من معلم ذكاء اصطناعي متاح 24/7، واستمر من حيث توقفت على الويب أو في التطبيق.
- الدورات
- 12
- الدروس
- 48
الأسئلة الشائعة
هل درس «طلب المطالبات والمطالبات المجمّعة» مجاني؟
نعم — نص درس «طلب المطالبات والمطالبات المجمّعة» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة OAuth2 & OpenID Connect Deep Dive، انتقل إلى CoddyKit PRO. تتضمن دورة OAuth2 & OpenID Connect Deep Dive 4 دروس في المجموع.
ماذا ستتعلم في «طلب المطالبات والمطالبات المجمّعة»؟
تعلّموا كيف يتيح OpenID Connect للعملاء طلب مطالبات محددة باستخدام معلمة claims، وكيف توفّر المطالبات الموزّعة والمجمّعة تأكيدات من مصادر خارجية. تتمرن على OAuth2 & OpenID Connect Deep Dive مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ OAuth2 & OpenID Connect Deep Dive؟
لا تُشترط خبرة سابقة. OAuth2 & OpenID Connect Deep Dive على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 4 من أصل 4.
كم من الوقت يستغرق درس «طلب المطالبات والمطالبات المجمّعة»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس OAuth2 & OpenID Connect Deep Dive هذا؟
نعم. كل درس في OAuth2 & OpenID Connect Deep Dive يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- التسجيل الديناميكي للعملاء
- نقطة نهاية اكتشاف OIDC
- إدارة الجلسات
- طلب المطالبات والمطالبات المجمّعة