أحتاج مساعدة أثناء تنفيذ SSO لبيئة التطوير

لقد قمت بإعداد Discourse على جهازي المحلي وأردت إعداد تسجيل الدخول عبر SSO. يمكنني إعادة توجيه المستخدم عند النقر على تسجيل الدخول، ولكن عندما تتم إعادة توجيهي، أستمر في تلقي الأخطاء. لقد قمت بتمكين التسجيل أيضًا، ويقول:
Nonce is incorrect, was generated in a different browser session, or has expired
أدناه ملف Python الذي أستخدمه: Discourse-setup/main.py at main · kamleshjoshi8102/Discourse-setup · GitHub

يرجى ملاحظة أنه في حالتي، يعمل على المنفذ 4201، لذلك قمت بإعادة التوجيه إلى المنفذ 4201 عند تسجيل الدخول.

هذه هي الطريقة التي تثير الخطأ:

  def nonce_valid?
    if SiteSetting.discourse_connect_csrf_protection
      nonce && @secure_session[nonce_key].present?
    else
      nonce && Discourse.cache.read(nonce_key).present?
    end
  end

إنها تتحقق من أن الـ nonce تم إنشاؤه بواسطة Discourse لنفس الجلسة التي تعيد توجيه المستخدم مرة أخرى إلى Discourse.
يمكنك محاولة تعيين إعداد الموقع discourse_connect_csrf_protection إلى false. القيمة الافتراضية هي true. إنه إعداد موقع مخفي، لذا لا يمكن تعطيله إلا من وحدة تحكم Rails.

عند تمكين discourse_connect_csrf_protection، يضمن هذا الإعداد أن تتم عملية المصادقة SSO بأكملها من خلال عمليات إعادة توجيه المتصفح. إذا كنت تبدأ عملية المصادقة عن طريق إجراء طلب خلفي إلى session/sso، فستحتاج إلى تعطيله. المزيد من التفاصيل هنا: DiscourseConnect flow no longer functions - #5 by david.

إعجاب واحد (1)

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.