Omniauth jwt إعادة التوجيه

بعد هذا، تمكنت من تشغيل SSO باستخدام JWT.

مع مكتبة discourse-omniauth-jwt، لست متأكدًا من كيفية إعادة توجيه المستخدمين بعد تسجيل الدخول.

عندما يسجل المستخدم الدخول إلى موقعي، أحصل على الـ JWT وأقوم بتسجيله في discourse فورًا. في نهاية هذه العملية، ينتهي بهم المطاف في موقع discourse بدلاً من العودة إلى موقعي.

لقد حاولت تجربة طرق إعادة التوجيه في مكتبة omniauth، والتي تتضمن معلمة origin وعلامة destination_url من هنا. لكن لا يبدو أن أيًا منها يعمل.

ربما يمكن لـ @eviltrout أن يضيء لي هذا الأمر.

تحرير: أدركت للتو أنني كنت أبحث في مكتبتين مختلفتين، omniauth وعمليات استدعاء omniauth الخاصة بـ discourse. على أي حال، ما زلت غير متأكد من كيفية جعل هذا يعمل.

So the issue here is:

  1. a user logs into your site
  2. you redirect them to discourse to log in there
  3. they end up logged in at discourse?

I don’t think this is a supported path. In general, a user would be on discourse, click login, visit your site for auth and be redirected back. If a user logs in directly on your site, they should stay on your site.

Typically how we do this is keep Discourse logged out, but when they click “Login” it’ll redirect back without having to fill out the authentication form again.

Hmm right makes sense. Logging in doesn’t do much now that I think about it since the embed can’t make use of the auth session.

إذًا، فإن التضمينات تستخدم جلسة المصادقة (أو ملف تعريف ارتباط الجلسة) لعرض أو إخفاء مواضيع خاصة على منصة ديسكورش.

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