ملخص
على مدار الأشهر العديدة الماضية ، قام شركاء edX وأعضاء مجتمع Open edX بتصميم وتنفيذ إمكانات تسجيل دخول جديدة تتيح للمتعلمين استخدام بيانات اعتمادهم في الحرم الجامعي للوصول إلى دورات edX. على غرار الطريقة التي تدعم بها edX حاليًا تسجيل الدخول باستخدام Google أو Facebook ، يمكن للمتعلمين في المؤسسات المشاركة المصادقة في edX باستخدام موفر هوية مدرستهم. بالإضافة إلى ذلك ، يمكن للمؤسسات أن تختار مشاركة البيانات مع edX لتوفير تجربة أكثر تخصيصًا ، مثل الاسم الأول والأخير لملء ملفات تعريف edX للمتعلمين تلقائيًا ، أو معرفات الطلاب الفريدة من أجل بناء الدعم لاحقًا لمزامنة القائمة أو الصف.
الخاصية
عندما يزور المتعلمون بيئة edX Edge ، سيتم تزويدهم بخيار تسجيل الدخول باستخدام بيانات اعتماد المؤسسة أو الحرم الجامعي. سيتمكن المتعلمون أيضًا من الوصول إلى طريقة تسجيل الدخول البديلة هذه عند البدء من أنظمة الحرم الجامعي عبر الإنترنت أو زيارة الموقع من خلال رابط دعوة خاص يمكن لفرق الدورة التدريبية إرساله بالبريد الإلكتروني.

عندما يتصفح المتعلمون موقع edge.edx.org مباشرةً ، يختارون أولاً "استخدام بيانات اعتماد مؤسستي / الحرم الجامعي."

بعد ذلك ، يتم ربطهم بصفحة تسجيل الدخول الخاصة بمؤسستهم.

عندما تتم دعوة المتعلمين للتسجيل في دورة ، يتم توجيههم مباشرة إلى صفحة تسجيل الدخول هذه. إذا اتبع المتعلمون رابطًا من نظام الحرم الجامعي ، فقد يتم تسجيل دخولهم على الفور ، أو يُطلب منهم تسجيل الدخول باستخدام بيانات اعتماد من هذا الحرم الجامعي ، أو إظهار صفحة تسجيل الدخول العادية. يعتمد السلوك على كيفية إنشاء الرابط ، وما إذا كان المتعلم قد قام بتسجيل الدخول من قبل ، وما إذا كان المتعلم قد قام بتسجيل الدخول إلى نظام الحرم الجامعي أم لا ، وكيفية تكوين التكامل.
ومع ذلك ، في جميع الحالات ، عند تقديم بيانات الاعتماد المناسبة (اعتمادًا على متطلبات مؤسستهم الخاصة) ، تتم إعادة توجيه المتعلمين تلقائيًا إلى مورد edX المطلوب. عندما يسجل المتعلمون الدخول لأول مرة ، يُطلب منهم ملء بعض تفاصيل الحساب الإضافية (على سبيل المثال ، الاسم وعنوان البريد الإلكتروني). تُستخدم هذه المعلومات لربط الهوية المستندة إلى حساب المتعلم بهوية edX الخاصة به. لا يحتاج المتعلم إلى اتخاذ هذا الإجراء مرة أخرى ما لم تقم بإلغاء ربط الحسابات.
التكنولوجيا
تستخدم هذه الميزة SAML 2.0 تحديث (لغة ترميز تأكيد الأمان ، الإصدار 2.0) ، والتي توفر وسيلة موحدة لتبادل بيانات المصادقة والتفويض بين الأطراف. في تبادل SAML ، يؤكد موفر الهوية بأمان هوية وحقوق الوصول للمستخدم النهائي لمزود الخدمة - وبالتالي يسمح للمستخدم بالوصول إلى الموارد المحددة. في هذه الحالة ، موفر الهوية هو أي من خدمات تسجيل الدخول المؤسسية المنفذة حاليًا وموفر الخدمة هو edX. بمجرد اكتمال المصادقة ، يحصل المتعلم على حق الوصول إلى أي مورد متاح على edge.edx.org ، بشرط أن يكون مسجلاً في الدورة التدريبية المرتبطة بهذا المورد.
نظرًا لأنه تم إنشاؤه باستخدام SAML ، فإن خدمة تسجيل الدخول الجديدة متوافقة تمامًا مع شببولث، وهو تطبيق مفتوح المصدر لبروتوكول SAML الذي تستخدمه مؤسسات التعليم العالي على نطاق واسع. في دراسة استقصائية لأعضاء مجموعة العمل لدينا ، وجدنا بسرعة أن كل شخص لديه على الأقل جزءًا من قاعدة المتعلم الخاصة به في Shibboleth وبعض المؤسسات لديها جميع مستخدميها في متاجر هوية واحدة قائمة على Shibboleth. في إصدارنا الأولي ، نقوم بتكوين edX Edge لدعم عمليات تسجيل دخول Shibboleth ؛ في الإصدارات اللاحقة ، نخطط لتوسيع الدعم لموفري الهوية الآخرين المتوافقين مع SAML2 ، بناءً على الطلب.
هذه الميزة تعتمد على تنفيذ المصادقة الحالية لجهة خارجية، ساهم في عام 2014 جون كوكس من Google. كما أنه يستفيد من التكوين وظيفة النموذج، تم تنفيذه بواسطة Cale Pennington من edX ، والذي يوفر حل "التكوين عبر قاعدة البيانات" لـ Django.
كما اعتمدنا بشكل كبير على عمل مشروعين آخرين مفتوحين المصدر: المصادقة الاجتماعية بايثون و بايثون سامل. كان كلا فريقي المشروع متجاوبين للغاية ، وهذا التعاون بين ثلاثة مشاريع مفتوحة المصدر جدير بالملاحظة. ساهم برادن ماكدونالد ، المطور الرئيسي ، بالتغييرات التي أضافت دعم SAML إلى Python Social Auth، وكذلك الإضافة الميزات التي نحتاجها في Python-saml. بذل المراجعون الأوليون جهدًا لمراجعة المساهمات ودمجها في الوقت المناسب ، مما يضمن إطلاق الميزة في الوقت المحدد في أواخر يونيو. بدلاً من تزييف الكود وإجراء هذه التغييرات فقط لـ edX ، يمكن لمجتمع Python بأكمله الآن الاستفادة من هذا العمل.
سمحت لنا هذه المشاريع بالاستفادة من مجموعة كبيرة من الأعمال الحالية والتركيز على ميزات التكامل الفريدة التي نحتاجها لمنصة Open edX ، وبالتالي تقليل وقت التطوير الإجمالي بشكل كبير.
عملية التصديق
نشأ مشروع مصادقة الطرف الثالث عن الاحتياجات المحددة في مجموعة عمل تطبيقات الحرم الجامعي في edX ، والتي تجتمع لمعالجة تحديات تكامل الحرم الجامعي. تأسست المجموعة على أساس أن جميع الأعضاء سيساهمون بواحد مما يلي في العملية:
- رأس مال الفكر في شكل مشاركة في المناقشات ومراجعة الوثائق ، لا سيما إبراز حالات الاستخدام المختلفة لتلبية مجموعة واسعة من الاحتياجات.
- تطوير التطبيق في شكل مساهمات في قاعدة كود Open edX.
- التحقق من صحة في شكل اختبار الحلول التي وضعها أعضائها.
لدعم مجموعة العمل وأي مشاريع ناتجة - والتي تتضمن حاليًا مشروع المصادقة هذا بالإضافة إلى مشروع لدعم edX كمزود لأداة LTI - توفر edX دعمًا مستمرًا لتطوير المنتج ، وإنشاء هيكل للمشاركة ، وتوجيه قرارات البنية ، والتقييم النهائي حلول للتضمين في منصة Open edX.
ما هي الخطوة التالية؟
واليوم ، يتم نشر هذه الميزة على موقع edge.edx.org ويتم استخدامها بواسطة شريك واحد ، وهو جامعة كولومبيا البريطانية. نحن نعمل مع شركاء آخرين لاختبار الحل ونشره للمتعلمين. في المستقبل ، نأمل في توسيع القدرات بالطرق التالية الممتعة:
- قم بإنشاء آلية للمدارس الشريكة ذات قيود الخصوصية القوية لتمرير معرف الطالب المبهم واستعادة معرف مستخدم edX ، لأغراض التحليل والتكامل.
- تكامل مع اتحادات Shibboleth مثل InCommon ، بحيث يمكن للطلاب في أي جامعة أمريكية تقريبًا استخدام SSO.
- تخصيص تجربة تسجيل الدخول مع العلامة التجارية للشريك.
إذا كان أي شخص في مجتمع Open edX مهتمًا بالعمل على هذه الميزات ، من فضلك اتصل بفريق edX Open Source.
شكر!
شكر خاص لفريق مشروع SSO لدينا:
كزافييه أنتوفيك ، أوبن كرافت
برادن ماكدونالد ، OpenCraft (مطور رئيسي)
ديريك وايت ، جامعة كولومبيا البريطانية
بان لو ، جامعة كولومبيا البريطانية
وليام أونو ، جامعة كولومبيا البريطانية
بريان تالبوت ، إي دي إكس
فرانسيس بوتسفورد ، محرر
من فضلك لا تتردد في وصول إلى لي للحصول على معلومات إضافية حول المشروع ، أو تفقد المصدر على GitHub (https://github.com/edx/edx-platform/tree/master/common/djangoapps/third_party_auth).
![]()