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

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

  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)