إنشاء رابط تسجيل دخول DiscourseConnect

أعتقد أن ما يحدث هو أنه عند زيارة مسار مثل https://forum.example.com/session/sso?return_path=/t/some-slug/23، يقوم Discourse بإعادة توجيهك إلى discourse connect url، بغض النظر عما إذا كنت مسجلاً الدخول إلى Discourse أم لا. يحدث هذا هنا:

من المتوقع بعد ذلك أن يتعامل موقع موفر SSO مع حالة المستخدمين الذين قاموا بتسجيل الدخول بالفعل إلى الموقع. إليك كيف يتعامل المكون الإضافي WP Discourse مع الأمر:

هذا الرمز (ما يلي عبارة else) يتعامل مع حالة المستخدمين الذين قاموا بتسجيل الدخول بالفعل إلى WordPress. يتم إعادة توجيههم مرة أخرى إلى عنوان URL الذي يتم توفيره بواسطة معلمة الاستعلام return_path. لذلك من وجهة نظر المستخدم، يتم نقلهم مباشرة إلى عنوان URL للمسار المرتجع، ولكن ما يحدث بالفعل هو أنهم يعاد توجيههم إلى موقع موفر SSO، ثم مرة أخرى إلى Discourse.

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

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

3 إعجابات