أعتقد أن هذا قد يكون حالة مشابهة للمشكلة التي ظهرت قبل بضع سنوات: Discourse doesn't redirect to return_sso_url after user logs in on private site - #8 by vinothkannans
لدي تطبيق Rails يستخدم omniauth-discourse كطريقة تسجيل دخول، ويعمل بشكل جيد.
ثم يستخدم مثيل Discourse الخاص بي SSO لتطبيق آخر أديره.
بهذه الطريقة، يكون Discourse مزوّد SSO الخاص بي، ولكنه يستخدم أيضًا SSO مع تطبيق مختلف.
عندما يكون المستخدم مسجّلًا بالفعل في Discourse، تعمل إعادة التوجيه إلى التطبيق الأصلي بشكل ممتاز.
أما عندما لا يكون المستخدم مسجّلًا، يتم توجيهه إلى تدفق SSO، لكن عنوان URL للإرجاع يُحدّد دائمًا على أنه return_sso_url=https://forum.snap.berkeley.edu/session/sso_login. يبدو أن هذا يجب أن يكون عنوان URL للطلب الأصلي، أليس كذلك؟
- يضغط المستخدم على زر تسجيل الدخول في التطبيق الأول، مما يعيد توجيهه إلى عنوان URL يبدو في النهاية هكذا:
https://forum.snap.berkeley.edu/session/sso_provider?sso=nonce=4...f&return_sso_url=https://www.snapcon.org/accounts/auth/discourse/callback &sig=1...6(لقد قمت بفك تشفيره للوضوح) - يقوم Discourse بعد ذلك بإعادة التوجيه إلى نقطة نهاية Discourse الخاصة بالتطبيق الثاني:
https://snap.berkeley.edu/api/v1/discourse-sso?sig=f...d&sso=nonce=6...1&return_sso_url=https://forum.snap.berkeley.edu/session/sso_login - يسجل المستخدم الدخول، لكنه يُنقل فقط إلى الصفحة الرئيسية للمنتدى.
هل هناك حل بديل، أم أن هذا شيء يمكن معالجته في تحديث؟
أدرك أنني أستخدم Discourse كوسيط فقط، لكن في الوقت الحالي هو أفضل أداة لدي لدمج هذين التطبيقين.
شكرًا لك!