مشكلة مع Discourse كموفر SSO والتسجيل الاجتماعي

مرحبًا،

المشكلة

عند استخدام Discourse كمزود مصادقة موحدة (SSO) عبر واجهة برمجة التطبيقات (النطاق A)، إذا حاولت التسجيل في Discourse (النطاق B) باستخدام زر شبكة اجتماعية، فلن تظهر نافذة create-account فورًا، بل ستعود إلى نافذة login.

في هذه المرحلة، يجب عليك إغلاق نافذة login، ثم النقر على زر Sign Up، وستظهر نافذة create-account التي كان من المفترض أن تظهر من البداية.

عرض توضيحي للمشكلة

إليك فيديو قصير يوضح المشكلة:

  • متصفح Edge، مع مسح ذاكرة التخزين المؤقت وملفات تعريف الارتباط وبدون إضافات.
  • استخدام WP-Discourse مُعد لاستخدام Discourse كمزود SSO (أسرع طريقة لإظهار المشكلة).

ما تراه أولاً هو أنني أضغط على رابط تسجيل الدخول عبر SSO الخاص بـ WP-Discourse.
بعد النقر على زر Facebook، يتم إعادة توجيهي إلى نافذة login بدلاً من نافذة create-account.

السبب المحتمل

نحن نستخدم نطاقات مختلفة لـ Discourse ومن حيث يتم استدعاء واجهة برمجة التطبيقات.

للتأكد من أن المشكلة ليست ناتجة عن إضافات أو أي شيء آخر، فقد تمكنت من تكرارها باستخدام WordPress نظيف (مُعد WP-Discourse لاستخدام Discourse كمزود SSO) وDiscourse نظيف. كلاهما على نطاقات مختلفة.

(ملاحظة: هذه المشكلة لا علاقة لها بـ wp-discourse، بل هي مجرد طريقة أسهل لعرضها/اختبارها. يمكننا أيضًا تكرارها باستخدام تطبيقنا الذي يستهلك واجهة برمجة تطبيقات Discourse ويعمل كمزود SSO أيضًا).

معلومات أخرى

  • تم تعطيل إعدادات أمان Discourse (غير متأكد مما إذا كان لهذا تأثير، تم تعطيل CSP، وتم تعيين ملفات تعريف الارتباط إلى None أو Disabled).
  • Discourse محدث بالكامل.
  • لا توجد مشكلة عند تسجيل الدخول باستخدام SSO.
  • لا توجد رسائل في وحدة تحكم المتصفح أو سجلات Discourse.
  • إذا واجهت المشكلة مرة واحدة عبر واجهة برمجة تطبيقات SSO، وحاولت التسجيل عبر الشبكات الاجتماعية مباشرة على Discourse، فستواجه نفس المشكلة. في هذه المرحلة، يجب عليك مسح ملفات تعريف الارتباط/ذاكرة التخزين المؤقت لتعمل بشكل صحيح. (تم الإبلاغ عن نفس المشكلة هنا: Suggestion: unite the sign up & log in buttons)

بما أن Discourse قادر على عرض نافذة create-modal المتوقعة مع حقول مملوءة مسبقًا بعد النقر يدويًا على Sign Up، فإن هذا يجعلني أعتقد أن هناك خطأً أو حالة يمكن لـ Discourse التعامل معها، هل أنا مخطئ؟

هل هناك شيء يمكن القيام به لإصلاح هذا السلوك؟ هل نغفل عن شيء ما؟

شكرًا!

هل هذه المشكلة غير مهمة لدرجة تجاهلها مرة أخرى؟

لقد أبلغت عن مشكلة مماثلة في يناير، ولكن هنا يمكنك رؤية إعادة إنتاج مبسطة لا تحتوي على أي شيء آخر، مع استخدام discourse الأصلي وتنفيذ SSO الرسمي. إذا كان هناك أي شيء، فأنا أود من شخص ما إما الاعتراف بوجود خطأ أو توضيح ما نفعله خاطئ.

كيف يمكننا لفت الانتباه إلى هذه المشكلة؟ هل من الممكن توظيف أعضاء في الفريق إذا كانت المشكلة مالية؟

– عميل ومطور محبط.

مرحبًا، قمت بإعداد wp-discourse على تثبيت افتراضي لـ WordPress، وجعلت من WordPress عميل SSO، وقمت بضبط تسجيل الدخول عبر Facebook على Discourse. كلا الموقعين مستضافان على نطاقات مختلفة.

سأترك كلا الموقعين متاحين للعامة لبضعة أيام أو أسابيع حتى يتمكن أي شخص لديه حساب فيسبوك من الاختبار ورؤية المشكلة بنفسه.

تعديل: قمت بحذف موقع Discourse الخاص بالتطوير، لكنه كان يفعل نفس الشيء تمامًا كما في فيديو arkshine.

انقر على “تسجيل الدخول عبر Facebook” وستظهر نافذة منبثقة مرة أخرى بدلاً من ظهور نافذة “إنشاء حساب جديد” مع حقول مملوءة مسبقًا.