الموارد · 43

التحقق من التكامل بين OAuth وOpenID Connect من البداية إلى النهاية.

فصل تسجيل الدخول، وتفويض الصلاحيات، وصلاحيات البيانات، ثم اختبار عمليات إعادة التوجيه، والرموز المميزة، والجلسات، والإلغاء.

مُحدَّث · 4 min

ما يُساعد هذا الدليل على تحقيقه

  • فصل الهوية عن التفويض.
  • رفض عمليات إعادة التوجيه والرموز المميزة غير المقصودة.
  • اختبار حالات الرفض بدقة مماثلة لاختبار حالات النجاح.
  • التحقق من إزالة الوصول بعد المغادرة أو وقوع حادث.

فحص سريع

  • ما هو المزود والجهة المصدرة المتوقعان؟
  • هل تم تسجيل عنوان URI لإعادة التوجيه بدقة؟
  • هل يتم استخدام رمز الهوية بشكل خاطئ كرمز وصول؟
  • هل يتم التحقق من ملكية كل مورد؟
  • ما هي صلاحيات الوصول التي تبقى بعد الإلغاء؟

طريقة خطوة بخطوة

  1. 1

    رسم مخطط التدفق المنشور.

    تحديد العميل (عام أو سري)، والمتصفح، وخادم التفويض، وواجهة برمجة التطبيقات، ومزود OIDC. سجّل مسار الرموز والرموز المميزة، ومن يخزنها، والأدوار الممنوحة. لا يُحدد مخطط المبيعات عملية النشر الفعلية.

    المُخرَج: التدفق، وحدود الثقة، ومالكو المكونات.

  2. 2

    تحقق من عملية تسجيل الدخول.

    استخدم تدفق الرمز مع PKCE المناسب للعميل. تحقق من S256، وربط المعاملات، وعمليات إعادة التوجيه المسجلة، والحماية من الطلبات المُزوَّرة. اختبر عنوان URI غير متوقع، ومُدقِّق غير صحيح، ورمز مُعاد تشغيله، ومُصدر غير متوقع. يفصل RFC 9700 المتطلبات والتوصيات حسب نوع العميل.

    المُخرَج: نتائج الاختبارات المسموح بها والمرفوضة.

  3. 3

    تحقق من صحة الرمز المميز.

    يتحقق واجهة برمجة التطبيقات (API) من صحة رمز الوصول الخاص بها وفقًا لقواعد التنسيق والمزود: التوقيع أو الاستبطان، والمُصدر، والجمهور، وتاريخ الانتهاء، والأذونات. يتحقق عميل OIDC بشكل منفصل من رمز الهوية. لا يُثبت التوقيع الصحيح أن الرمز المميز ينتمي إلى واجهة برمجة التطبيقات هذه.

    المُخرَج: عقد التحقق واختبارات الجمهور وانتهاء الصلاحية.

  4. 4

    التحقق من صلاحيات العمل.

    اختبار كائن مملوك لحساب آخر، ودور أدنى، وحقل خاص، وعملية إدارية. لا يُغني نطاق الوصول أو بوابة المصادقة عن عمليات التحقق من جانب الخادم على المورد المطلوب. استخدم حسابات وبيانات اختبار مُصرَّح بها.

    المُخرَج: مصفوفة الدور والكائن والعملية والرفض المتوقع.

  5. 5

    اختبار انتهاء الصلاحية والإلغاء.

    فصل الجلسة المحلية، وجلسة المزوّد، ورمز الوصول، ورمز التحديث. اختبار المغادرة، وفقدان الجهاز، وتغيير الدور، وتدوير مفتاح التوقيع، وانقطاع المزوّد. توثيق وقت الوصول المتبقي بدلاً من افتراض أن تسجيل الخروج يُلغي كل شيء فورًا.

    المُخرَج: الجدول الزمني لإزالة الوصول والاستثناءات.

  6. 6

    المراقبة دون الكشف عن الأسرار.

    تسجيل مرجع المعاملة، وقرار التحقق، وفئة الخطأ، وإصدار التكوين. استبعاد الرموز والرموز المميزة والأسرار. إعداد التشخيص، وإيقاف التكامل، والرجوع إلى التكوين المُعتمد؛ إعادة تشغيل الاختبارات بعد تغييرات الموفر. مخرجات

    المخرج: إجراءات التشغيل وفحوصات التراجع.

مثال عملي افتراضي

حالة توضيحية

مثال توضيحي: عميلان يستخدمان مزوّد هوية واحد. يتم تقديم رمز صالح للعميل الأول إلى واجهة برمجة تطبيقات العميل الثاني.

القرار والأدلة المتوقعة

ترفض واجهة برمجة التطبيقات الجمهور غير الصحيح، وتسجّل مسارًا بدون رمز، ولا تُرجع أي بيانات. يصبح الرفض اختبارًا للتراجع.

تمييز الآليات

الآليةالغرضالتحقق أو التقييد
OAuth 2.0تفويض الوصول إلى المواردأذونات الكائنات من جانب الخادم
OpenID Connectالتحقق من الهوية من خلال رمز هوية مُدقَّقالتحقق من المُصدر والجمهور والمعاملة
جلسة التطبيقالحفاظ على تسجيل دخول التطبيقانتهاء الصلاحية والإبطال وحماية الجلسة

مؤشرات الإدارة

المؤشرما يقيسهالإجراء الأول
تصحيح حالات الرفضالحالات المحظورة التي تم حظرها بالفعلإصلاح كل قبول غير متوقع
تأخير الإلغاءالوقت حتى اختفاء الوصول ذي الصلةالتحقق من الجلسات والرموز بشكل منفصل
حالات فشل التحققحالات الرفض حسب السبب والإصدارفصل الهجمات عن أخطاء التكوين

الأخطاء الشائعة

  • الخلط بين المصادقة والتفويض
  • قبول أي جمهور بعد التحقق من التوقيع
  • تسجيل إعادة توجيه واسعة النطاق معرّفات الموارد الموحدة (URIs)
  • تسجيل الرموز لتسهيل تصحيح الأخطاء

الأسئلة المتكررة

هل يحلّ PKCE محلّ جميع عناصر التحكم؟

لا. فهو يحمي تبادل الرموز في المسار المقصود؛ ولا يزال التحقق من صحة الرمز، وعمليات إعادة التوجيه، وتفويض الأعمال، والجلسات بحاجة إلى فحص.

هل يُعدّ JWT إذنًا؟

JWT هو تنسيق. لا تصبح المطالبات قابلة للاستخدام إلا بعد التحقق من صحتها وتطبيق قواعد واجهة برمجة التطبيقات (API).

هل يجب بناء التحقق من الصحة من الصفر؟

يُفضّل استخدام مكتبة مُحدّثة ووثائق مزوّد الخدمة، ثم اختبار التكوين. قد يتم تكوين مكتبة صحيحة بشكل خاطئ.

المراجع الرسمية

تدعم المراجع الطريقة. قم بتكييف عمليات التحقق مع سياقك؛ فهي ليست شهادة. قد تكون عناوين المراجع الأصلية والوثائق المصدرية بلغة أخرى.