Brauchen Sie Hilfe bei der Implementierung von SSO für die Entwicklungsumgebung

Dies ist die Methode, die den Fehler auslöst:

  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

Es wird überprüft, ob der Nonce von Discourse für dieselbe Sitzung generiert wurde wie diejenige, die den Benutzer zurück zu Discourse weiterleitet.
Sie könnten versuchen, die Site-Einstellung discourse_connect_csrf_protection auf false zu setzen. Ihr Standardwert ist true. Es ist eine versteckte Site-Einstellung, daher kann sie nur über die Rails-Konsole deaktiviert werden.

Wenn die Einstellung discourse_connect_csrf_protection aktiviert ist, stellt sie sicher, dass der gesamte SSO-Authentifizierungsprozess über Browser-Weiterleitungen erfolgt. Wenn Sie den Authentifizierungsprozess starten, indem Sie eine Hintergrundanfrage an session/sso stellen, müssen Sie ihn deaktivieren. Weitere Details hier: DiscourseConnect flow no longer functions - #5 by david.

1 „Gefällt mir“