Ich integriere Discourse mit Wordpress über das WP Discourse-Plugin und verwende Wordpress als Discourse Connect-Anbieter. Dabei stoße ich jedoch auf ein Problem, bei dem ein nicht authentifizierter Benutzer, der die Discourse-Instanz besucht und auf eine Schaltfläche klickt, die eine Anmeldung erfordert, in einer Endlosschleife von Weiterleitungen stecken bleibt.
Das gewünschte Verhalten ist: Benutzer klickt auf die Discourse-Anmeldeschaltfläche → Benutzer wird zur Wordpress-Anmeldeseite weitergeleitet → Benutzer authentifiziert sich und wird zur vorherigen Discourse-Seite zurückgeleitet. Derzeit gibt es keine Probleme, wenn ein Benutzer bereits authentifiziert ist und die Discourse-Instanz nach der Authentifizierung besucht. Dieser Fehler tritt auf, wenn zuerst ein nicht authentifizierter Benutzer die Discourse-Instanz besucht.
Das aktuelle Verhalten ist: Benutzer klickt auf eine Discourse-Anmeldeschaltfläche → Benutzer wird weitergeleitet zu https://[discourse-instance]/session/sso?return_path=%2Ft%2F[discourse page user was on before]%2F16 → Benutzer wird weitergeleitet zu https://[wordpress-site]/?sso=[SSO token]%3D%3D&sig=[Signature token] → Benutzer wird weitergeleitet zu https://[wordpress-site]/?sso=[SSO token]%3D%3D&sig=[Signature token]&redirect_to=%2F%3Fsso%[SSO token]%253D%253D%26sig%3D[Signature token] → und der Zyklus wiederholt sich, bis der Browser eine Fehlermeldung “zu viele Weiterleitungen” ausgibt.
Ich konnte keinen Thread mit einer Lösung für dieses Problem finden. Der nächstgelegene ist
aber wir haben überall SSL aktiviert und dieses Problem tritt in allen Browsern auf. Irgendwelche Vorschläge zur Behebung dieses Problems?
Chrome 97 wurde mit einem Fehler bei der Cookie-Behandlung während Weiterleitungen ausgeliefert, der unter bestimmten Umständen bekanntermaßen DiscourseConnect beeinträchtigt. Während wir auf die Veröffentlichung eines Fixes durch Google warten, haben wir eine Problemumgehung in Discourse hinzugefügt. Ein Upgrade Ihrer Discourse-Site auf die neueste Version sollte das Problem beheben. Können Sie das ausprobieren und uns mitteilen, ob es funktioniert?
(Die Problemumgehung wurde in diesem Commit hinzugefügt)
Vielen Dank für die Antwort. Ich habe gerade überprüft, ob wir die neueste Version haben, aber leider besteht der Fehler immer noch. Wir hosten unser Forum bei Discourse, daher sollte es sich regelmäßig selbst aktualisieren. Der Fehler ist immer noch derselbe wie zuvor. Gibt es noch etwas anderes, das ich versuchen sollte? Könnten Einstellungen innerhalb des Discourse-Hostings dies verursachen?
zu „Logs“ in WP Discourse gehen und sie herunterladen
Sende mir dann die Logs per PN und ich werde mir genauer ansehen, was passiert. Beachte, dass die Logs keine persönlich identifizierbaren Informationen oder Geheimnisse enthalten.
Das hier beschriebene Umleitungsproblem scheint dem zu ähneln, was ich in der Vergangenheit bei anderen WooCommerce-Websites gesehen habe. In diesen Fällen wurde es durch die Installation des von mir verlinkten WordPress-Plugins behoben.
Wenn dies die Ursache des Problems ist, frage ich mich, ob wir die WooCommerce-Unterstützung direkt in das WP Discourse-Plugin integrieren sollten.
Ich habe nicht genau das Problem, das der Ersteller des Beitrags beschrieben hat, aber ich stoße auf eine Wand, wenn ich unsere Benutzer nach der Anmeldung zurück zu dem Ort leite, an dem sie sich im Discourse-Forum befanden
Ich wollte hier nur ein Update posten. Es stellte sich heraus, dass eines der von uns verwendeten Plugins den Rückgabewert der Wordpress-Funktion wp_login_url() beeinträchtigte. Nachdem dieses Plugin entfernt wurde, funktionierte alles wie erwartet!
1 „Gefällt mir“
angus
(Angus McLeod)
Hat dieses Thema aufgeteilt,
9