طَبِّقْهاتعلّم المبدأ، وطبّقه بيدكمقرر 243 · أمن الويب
الدرس 15 · الوحدة 7: تقنية OAuth

OAuth 2.0: المفاهيم والأدوار

كيف يصل تطبيقك إلى بياناتك في خدمة أخرى دون أن تعطيه كلمة مرورك؟ ⏱ نحو 40 دقيقة.

بعد هذا الدرس ستستطيع أن:
  • تشرح مشكلة التفويض المندوب التي يحلّها OAuth.
  • تحدّد أدوار OAuth الأربعة.
  • تميّز التدفقات وتعرف المعتمد اليوم.
  • تفرّق بين OAuth (تفويض) و OIDC (هوية).

١المشكلة: التفويض المندوب

تريد لتطبيقك أن يصل إلى بيانات المستخدم في خدمة أخرى — صوره في Google مثلًا. الحل الساذج: يعطيك كلمة مروره في Google. هذا كارثة: ترى كل شيء، بلا حدود، وبلا طريقة لإلغاء الإذن إلا بتغيير الكلمة.

OAuth 2.0 يحلّ هذا بـالتفويض المندوب: يأذن المستخدم لتطبيقك بصلاحية محددة دون أن يعطيه كلمة مروره قط. تطبيقك يحصل على رمز وصول محدود النطاق والمدّة، يمكن إلغاؤه وحده.

٢الأدوار الأربعة

يطلب إذنًا

رمز وصول

الرمز

البيانات المسموحة

المالك
المستخدم

العميل
تطبيقك

خادم التفويض
مثل Google

خادم الموارد
واجهة البيانات

الأدوار الأربعة وتدفق الإذن بينها.
الدورمن هوفي مثال «الدخول بـ Google»
مالك الموردالمستخدم صاحب البياناتأنت
العميل Clientالتطبيق الذي يطلب الوصولمتجر «رفيق»
خادم التفويضمن يصادق المالك ويصدر الرموزGoogle
خادم المواردمن يحمل البيانات ويقبل الرمزواجهة Google

يفصل OAuth بين من يصادق (خادم التفويض) ومن يملك البيانات (خادم الموارد)، فلا يرى تطبيقك كلمة المرور أبدًا.

٣أنواع التدفقات

لـ OAuth تدفقات (منح) عدة بحسب نوع العميل. المعتمد اليوم للتطبيقات هو Authorization Code مع PKCE (الدرس القادم):

التدفقلمنالحالة
Authorization Code + PKCEتطبيقات الويب والجوال✓ المعتمد اليوم
Client Credentialsخادم لخادم (بلا مستخدم)✓ لحالته
Implicitتطبيقات الواجهة قديمًا✗ مهجور (غير آمن)
Password Grantثقة كاملة✗ مهجور

توقّع وتحقّق

OAuth يحلّ مشكلة:

من يصدر رمز الوصول؟

التدفق المعتمد اليوم:

OAuth أساسًا:

الخلاصة

تحدٍّ تصميمي: حدّد أدوار OAuth

متوسط

يريد متجر «رفيق» أن يستورد صور ملف المستخدم من خدمة «صور سحابية» عبر OAuth. حدّد الأدوار الأربعة في هذا السيناريو، واشرح لماذا OAuth أأمن من مشاركة كلمة المرور.

المطلوب:
  • لكل دور من الأربعة: مَن يؤديه هنا (سطر لكل دور).
  • سببان على الأقل لتفوّق OAuth على مشاركة كلمة المرور.
✓ التحقق الآلي: يفحص المختبر بنية مستندك وصياغته (لا يحكم على جودة الفكرة؛ هذا دور معلمك)
  • الأدوار الأربعة
  • مالك المورد = المستخدم
  • خادم التفويض = خدمة الصور
  • العميل = المتجر
  • سببان لتفوّق OAuth
  • لا يرى كلمة المرور

💡 تلميح 1
مالك المورد هو المستخدم، والعميل هو متجر رفيق.
💡 تلميح 2
خدمة الصور تؤدي دورين: خادم التفويض (تصادق وتصدر الرمز) وخادم الموارد (تسلّم الصور).
💡 تلميح 3
ميزتا OAuth: لا كلمة مرور مشتركة، وإذن محدود قابل للإلغاء.

نموذج واحد من إجابات كثيرة صحيحة.

الأدوار الأربعة (سطر لكل دور)
مالك المورد: المستخدم صاحب الصور.
العميل: متجر رفيق الذي يطلب الصور.
خادم التفويض: خدمة الصور السحابية التي تصادق المستخدم وتصدر الرمز.
خادم الموارد: واجهة خدمة الصور التي تسلّم الصور مقابل الرمز.
لماذا OAuth أأمن (سببان)
لا يرى متجر رفيق كلمة مرور المستخدم إطلاقًا.
الإذن محدود النطاق (الصور فقط) والمدّة، ويمكن إلغاؤه وحده دون تغيير كلمة المرور.
انتقل إلى تقييم الدرساختيار من متعدد، وصح وخطأ، وأكمل الفراغ، وتتبّع الناتج.ابدأ التقييم ←

📝 معلم؟ أرسل ملاحظة للمؤلف عن هذا الدرس