هل يجب على مستهلك DiscourseConnect حفظ بيانات المستخدم في قاعدة بيانات محلية؟

كمثال حقيقي، أعمل على امتداد للمصادقة في MediaWiki يتكامل مع DiscourseConnect. وسيكون هذا هو أسلوب تسجيل الدخول الوحيد في مثيل MediaWiki الخاص بي.

لدي خياران (بحسب علمي):

  1. تنفيذ SessionProvider يحصل على بيانات المستخدم من استدعاء DiscourseConnect، ثم يضعها مباشرة في جلسة MediaWiki.

  2. تنفيذ PrimaryAuthenticationProvider الذي يحصل أيضًا على بيانات المستخدم من استدعاء DiscourseConnect، لكنه ينشئ مستخدمًا خاصًا به في نظام MediaWiki.

أعتقد أن الخيار الأول يشبه تنفيذ SSO، بينما يشبه الخيار الثاني تسجيل الدخول عبر Google.

العيب الوحيد الذي أعرفه في الخيار الأول هو أنه سيكون من الصعب الخروج منه؛ لا أستطيع تخيل كيفية الهجرة منه وتمكين تسجيل الدخول المحلي إذا لم يتم حفظ أي بيانات اعتماد في MediaWiki. ربما يمكنني حفظ بيانات الاعتماد في مكان آخر.

أي خيار يجب أن أختار؟

شكرًا لكم