بابان متتاليان يربط بينهما ممر حجري واحد.

ملاحظات المنتج

سلسلة تسجيل الخروج

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

دخول واحد، وثلاثة مفاتيح

لنفترض أنك أضفت «تسجيل الدخول باستخدام Google» إلى خدمتك. بالنسبة إلى المستخدم، هي ضغطة زر واحدة.

لكن كل نظام في المسار ينشئ جلسته الخاصة ويحتفظ بها: جلسة لدى Google وأخرى لدى Authrim وثالثة في تطبيقك.

قد تسمح جلسة باقية للمستخدم بمواصلة العمل أو بالدخول مجدداً دون إعادة إدخال كلمة المرور.

تسجيل الخروج لا يقتصر على عرض رسالة تؤكد ذلك.
بل يتطلب تحديد النطاق وإنهاء الجلسات داخله.

إبطال الرموز عملية أخرى

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

في OIDC، خروج الجلسة وإبطال الرمز وتعطيل الحساب لدى موفر الهوية الأعلى ثلاث عمليات مختلفة. تتناول هذه المقالة الجلسات. وللرموز راجع فحص الرموز وإبطالها.

Authrim في المنتصف

في هذا المسار، يوفر الطرف الأعلى تسجيل الدخول، بينما يطلبه تطبيقك. ويتغير دور Authrim بحسب الطرف الذي يتعامل معه.

موفر الهوية الأعلى Google، Entra ID، Apple Authrim منصة الهوية الخاصة بك تطبيقاتك الواجهات التي يستخدمها الناس يطلب تسجيل الدخول الطرف المعتمد (RP) يوفر تسجيل الدخول موفر الهوية (OP) دوران مختلفان بحسب الاتجاه
يشبه الأمر وكالة سفر: ترتب رحلتك، لكنها عميل يشتري مقعداً من شركة الطيران. يؤدي Authrim الدورين معاً.

غالباً ما يتوقف الخروج في منتصف الطريق

يسير الدخول عبر المسار، لكن الخروج يحتاج إلى من ينقله صراحة.

إنهاء الجلسة الأعلى لا يحذف تلقائياً جلسات Authrim والتطبيق. يجب نقل طلب الإنهاء إلى الأطراف التالية، ثم أن ينهي كل مستلم الجلسة المطابقة. يوضح الرسم الحالة التي تتوافر فيها الطرق والإعدادات المطلوبة.

سلسلة مقطوعة موفر الهوية الأعلى انتهت الجلسة لم يصل إشعار Authrim الجلسة ما زالت نشطة تطبيقك الجلسة ما زالت نشطة النتيجة: الوصول ما زال ممكناً سلسلة متصلة موفر الهوية الأعلى انتهت الجلسة «أنه هذه الجلسة» إشعار موقّع Authrim ينهي ثم يمرر الإشعار «أنه هذه الجلسة» إشعار موقّع تطبيقك ينهي الجلسة النتيجة: انتهت الجلسات الثلاث
الفرق هو السهم الأوسط: هل يستطيع Authrim استقبال الإشعار ثم إرساله إلى التطبيقات؟ ويجب أيضاً أن يدعم الموفر الأعلى وكل تطبيق الطرق اللازمة ويضبط إعداداتها.

كيف تظهر المشكلة في العمل اليومي؟

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

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

حدود الإرسال عبر المتصفح

هناك طريقتان لإبلاغ التطبيقات. الطريقة المعتمدة على المتصفح تواجه قيوداً إضافية.

عبر المتصفح Authrim المتصفح إطارات خفية للتطبيقات تطبيقك قد تمنع حماية الخصوصية وصول الإشعار بين الخوادم مباشرة Authrim إشعار موقّع مباشر دون المرور بالمتصفح تطبيقك
تستخدم الطريقة الأولى إطارات خفية لإبلاغ التطبيقات، وقد تمنعها قيود الخصوصية في المتصفح. أما القناة الخلفية فتربط الخوادم مباشرة، ولذلك لا تعتمد على حالة المتصفح. لكنها لا تضمن التسليم: قد يفشل بسبب الشبكة أو توقف المستلم أو المهلة أو استجابة 5xx. إعادة المحاولة والطوابير وسجلات الفشل مسؤولية التنفيذ.

تشمل شهادة Authrim استقبال إشعارات القناة الخلفية. ويجب التحقق من الاستقبال والإرسال اللاحق كل على حدة.

التحقق من المستلم والمرسل معاً

يعمل Authrim كطرف معتمد (RP) تجاه الموفر الأعلى، ومزوّد OpenID ‏(OP) تجاه التطبيقات. ويتطلب تمرير الخروج الالتزام بالمواصفات في الدورين.

  • بصفته RP: يتحقق من إشعار الخروج الوارد وينهي جلسة Authrim المطابقة.
  • بصفته OP: يرسل الإشعارات كي تتمكن التطبيقات المتصلة من إنهاء جلساتها المطابقة.

توفر شهادات ملفات تعريف الخروج OP وRP دليلاً على هذين الدورين. حصل Authrim عليها عبر إجراء الاعتماد الذاتي لدى OpenID Foundation باستخدام اختبارات المطابقة الرسمية.

تعني الشهادة أن نسخة التنفيذ المقدمة اجتازت اختبارات ملفات التعريف المطلوبة. ولا تضمن إنهاء كل جلسة فوراً عبر تطبيقات العميل وشبكته.

يجب أن يدعم الموفر الأعلى والتطبيقات الطرق المطلوبة مع ضبط نقاط الإشعار وربط الجلسات. تعطيل الحساب الأعلى لا يولد إشعار خروج بالضرورة. ويجب اختبار فشل التسليم وإعادة المحاولة وإمكانية متابعة الفشل في البيئة المنشورة.

تجد الإصدارات والملفات المعتمدة في قائمة Certified OpenID Relying Parties & Logout Profiles، ونطاق الاعتماد في شرح إجراءات الشهادة لدى OpenID Foundation.

بعد الخروج، أين تبقى جلسة نشطة؟

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