تقييم الدرس 16
تدفق Authorization Code مع PKCE
أجب عن الأسئلة ثم اضغط «صحّح ورقتي» في آخر الصفحة. ← العودة إلى الدرس
أسئلة التقييم
تقييم الدرس 16: تدفق Authorization Code مع PKCE. إجاباتك تُحفظ تلقائيًّا على هذا الجهاز؛ أجب ثم اضغط «صحّح ورقتي».
1السؤال الأول: اختر الإجابة الصحيحة
1) ما الذي يمر عبر المتصفح في التدفق؟
2) ماذا يحدث لمن يعترض رمز التفويض دون الـ
verifier؟const express = require('express');const app = express();app.use(express.json());app.use(express.urlencoded({ extended: false })); const crypto = require('crypto');let issuedChallenge = null; // العميل يحسب verifier عشوائيًّا، و challenge = sha256(verifier)app.post('/authorize', (req, res) => { issuedChallenge = req.body.codeChallenge; // خادم التفويض يحفظ البصمة res.json({ code: 'AUTH_CODE_123', state: req.body.state }); // (الرمز ثابت للتوضيح)}); app.post('/token', (req, res) => { // يتحقق أن sha256(verifier) يطابق challenge المحفوظ const h = crypto.createHash('sha256').update(req.body.codeVerifier).digest('base64url'); if (h !== issuedChallenge) return res.status(400).json({ error: 'PKCE فشل: المعترِض لا يملك الـ verifier' }); res.json({ accessToken: 'ACCESS_TOKEN_abc', expiresIn: 3600 });}); app.listen(3000);
3)
code_challenge هو:4) قيمة
state تمنع:5) في تطبيقات الواجهة بلا سرّ عميل نستخدم:
2السؤال الثاني: صح أم خطأ
1) رمز الوصول يُسلَّم مباشرة عبر المتصفح في التدفق الآمن.
الصواب: خطأ
2)
PKCE يجعل رمز التفويض المعترَض عديم القيمة وحده.الصواب: صح
3) رمز التفويض قصير العمر ويُستخدم مرة.
الصواب: صح
4) يُستحسن كتابة تدفق
OAuth يدويًّا بدل المكتبات.الصواب: خطأ
5) التحقق من
state يربط الرد ببداية صحيحة للتدفق.الصواب: صح
3السؤال الثالث: أكمل الفراغات من القائمة المنسدلة
1) البصمة المُرسَلة في بداية
PKCE تسمّى code .الإجابة: challenge
2) السرّ الذي يبقى في العميل ويُرسل عند التبديل هو
code .الإجابة: verifier
3) القيمة العشوائية ضد
CSRF على التدفق هي .الإجابة: state
4السؤال الرابع: أسئلة عملية
1)
code_challenge = sha256(code_verifier) بترميز base64url.الصواب: صح
2) من يعرف
code_challenge فقط يستطيع تبديل الرمز بنجاح.الصواب: خطأ
أجب عن الأسئلة ثم اضغط «صحّح ورقتي».