ملاحظات المنتج
سلسلة تسجيل الخروج
يسجّل الشخص دخوله مرة واحدة، لكن تُنشأ عدة جلسات في الطريق. يتطلب تسجيل الخروج تحديد الجلسات التي ينبغي إنهاؤها ومدى امتداد ذلك عبر المسار.
دخول واحد، وثلاثة مفاتيح
لنفترض أنك أضفت «تسجيل الدخول باستخدام Google» إلى خدمتك. بالنسبة إلى المستخدم، هي ضغطة زر واحدة.
لكن كل نظام في المسار ينشئ جلسته الخاصة ويحتفظ بها: جلسة لدى Google وأخرى لدى Authrim وثالثة في تطبيقك.
قد تسمح جلسة باقية للمستخدم بمواصلة العمل أو بالدخول مجدداً دون إعادة إدخال كلمة المرور.
تسجيل الخروج لا يقتصر على عرض رسالة تؤكد ذلك.
بل يتطلب تحديد النطاق وإنهاء الجلسات داخله.
إبطال الرموز عملية أخرى
المقصود بالمفاتيح هنا هو الجلسات. أما رموز الوصول والتحديث فلها آلية مختلفة، وإنهاء الجلسة لا يبطل بالضرورة الرموز التي سبق إصدارها. إبطال الرموز عملية مستقلة.
في OIDC، خروج الجلسة وإبطال الرمز وتعطيل الحساب لدى موفر الهوية الأعلى ثلاث عمليات مختلفة. تتناول هذه المقالة الجلسات. وللرموز راجع فحص الرموز وإبطالها.
Authrim في المنتصف
في هذا المسار، يوفر الطرف الأعلى تسجيل الدخول، بينما يطلبه تطبيقك. ويتغير دور Authrim بحسب الطرف الذي يتعامل معه.
غالباً ما يتوقف الخروج في منتصف الطريق
يسير الدخول عبر المسار، لكن الخروج يحتاج إلى من ينقله صراحة.
إنهاء الجلسة الأعلى لا يحذف تلقائياً جلسات Authrim والتطبيق. يجب نقل طلب الإنهاء إلى الأطراف التالية، ثم أن ينهي كل مستلم الجلسة المطابقة. يوضح الرسم الحالة التي تتوافر فيها الطرق والإعدادات المطلوبة.
كيف تظهر المشكلة في العمل اليومي؟
| الحالة | نتيجة انقطاع السلسلة |
|---|---|
| مغادرة موظف | تلغي الموارد البشرية الوصول، لكن التطبيق يبقى مفتوحًا على الحاسوب وتظل البيانات الداخلية مرئية حتى الصباح. |
| أجهزة مشتركة | في متجر أو مستشفى أو مركز اتصال، يسجّل المستخدم السابق خروجه، لكن تبويبًا آخر ما زال يعرض لوحة حسابه. |
| فقدان جهاز | يُضغط على «تسجيل الخروج من كل الأجهزة»، لكن الجلسة الحالية وحدها تنتهي. |
| الاستجابة لحادث | يُحظر الحساب المخترق، لكن جلسة المهاجم تستمر حتى انتهاء صلاحيتها. |
| التدقيق | يُطلب إثبات وصول تسجيل الخروج إلى كل الأنظمة، ولا يوجد ما يثبت ذلك. |
زر الخروج موجود والشاشة تتغير، لكن نطاق تأثيره أضيق مما كان متوقعاً. ولهذا يصعب ملاحظة المشكلة.
حدود الإرسال عبر المتصفح
هناك طريقتان لإبلاغ التطبيقات. الطريقة المعتمدة على المتصفح تواجه قيوداً إضافية.
تشمل شهادة Authrim استقبال إشعارات القناة الخلفية. ويجب التحقق من الاستقبال والإرسال اللاحق كل على حدة.
التحقق من المستلم والمرسل معاً
يعمل Authrim كطرف معتمد (RP) تجاه الموفر الأعلى، ومزوّد OpenID (OP) تجاه التطبيقات. ويتطلب تمرير الخروج الالتزام بالمواصفات في الدورين.
- بصفته RP: يتحقق من إشعار الخروج الوارد وينهي جلسة Authrim المطابقة.
- بصفته OP: يرسل الإشعارات كي تتمكن التطبيقات المتصلة من إنهاء جلساتها المطابقة.
توفر شهادات ملفات تعريف الخروج OP وRP دليلاً على هذين الدورين. حصل Authrim عليها عبر إجراء الاعتماد الذاتي لدى OpenID Foundation باستخدام اختبارات المطابقة الرسمية.
تعني الشهادة أن نسخة التنفيذ المقدمة اجتازت اختبارات ملفات التعريف المطلوبة. ولا تضمن إنهاء كل جلسة فوراً عبر تطبيقات العميل وشبكته.
يجب أن يدعم الموفر الأعلى والتطبيقات الطرق المطلوبة مع ضبط نقاط الإشعار وربط الجلسات. تعطيل الحساب الأعلى لا يولد إشعار خروج بالضرورة. ويجب اختبار فشل التسليم وإعادة المحاولة وإمكانية متابعة الفشل في البيئة المنشورة.
تجد الإصدارات والملفات المعتمدة في قائمة Certified OpenID Relying Parties & Logout Profiles، ونطاق الاعتماد في شرح إجراءات الشهادة لدى OpenID Foundation.
بعد الخروج، أين تبقى جلسة نشطة؟
هذا هو السؤال عند تسليم جهاز مشترك إلى زميل أو إنهاء وصول موظف غادر. يستقبل Authrim الإشعارات ويرسلها بين الموفر الأعلى والتطبيقات. الشهادة تقدم دليلاً على التنفيذ، بينما يحدد اختبار الأنظمة المتصلة ما إذا كان الخروج يشمل النطاق المقصود.