Hallo,
Problem
Wenn Sie Discourse als SSO-Anbieter über die API (Domain A) nutzen und versuchen, sich auf Discourse (Domain B) mit einem Social-Login-Button zu registrieren, erscheint das Modal create-account nicht sofort. Stattdessen landen Sie im login-Modal.
An diesem Punkt müssen Sie das login-Modal schließen, dann auf den Button Sign Up klicken, und erst dann sehen Sie das create-account-Modal, das Sie eigentlich hätten sehen sollen.
Problem-Demo
Hier ein kurzer Video-Demo:
- Edge, mit geleertem Cache/Cookies und ohne Erweiterungen.
- Verwendung von WP-Discourse, das so konfiguriert ist, dass es Discourse als SSO-Anbieter nutzt (schnellster Weg, das Problem zu zeigen).
Was Sie zuerst sehen, ist, dass ich auf den WP-Discourse SSO-Login-Link klicke.
Nach dem Klicken auf den Facebook-Button werde ich zum login-Modal weitergeleitet, anstatt zum create-account-Modal.
Möglicher Grund
Wir verwenden unterschiedliche Domains für Discourse und die Domain, von der aus die API aufgerufen wird.
Um sicherzustellen, dass das Problem nicht von Plugins oder Ähnlichem stammt, konnte ich es mit einer sauberen WordPress-Installation (mit WP-Discourse, das so konfiguriert ist, dass es Discourse als SSO-Anbieter nutzt) und einer sauberen Discourse-Installation reproduzieren. Beide befinden sich auf unterschiedlichen Domains.
(Hinweis: Dies steht nicht in Zusammenhang mit WP-Discourse; es ist nur einfacher, das Problem damit zu zeigen/zu testen. Wir können es auch mit unserer App reproduzieren, die die Discourse-API konsumiert und ebenfalls als SSO-Anbieter fungiert).
Weitere Informationen
- Discourse-Sicherheitseinstellungen deaktiviert (bin mir nicht sicher, ob dies einen Effekt hat; CSP deaktiviert, Same-Cookies auf „None“ oder „Disabled“ gesetzt).
- Discourse auf dem neuesten Stand.
- Kein Problem beim Einloggen mit SSO.
- Keine Einträge in der Browserkonsole oder in den Discourse-Logs.
- Wenn Sie das Problem einmal mit der SSO-API erleben und dann versuchen, sich direkt auf Discourse mit Social Sign Up anzumelden, tritt das gleiche Problem auf. In diesem Fall müssen Sie Ihre Cookies/Cache löschen, damit es funktioniert. (Das gleiche Problem wurde hier gemeldet: Suggestion: unite the sign up & log in buttons)
Da Discourse in der Lage ist, das erwartete create-modal mit vorausgefüllten Feldern anzuzeigen, nachdem Sie manuell auf Sign Up geklickt haben, vermute ich, dass es sich um einen Fehler oder eine Situation handelt, die Discourse behandeln könnte. Liege ich falsch?
Gibt es etwas, das getan werden kann, um dieses Verhalten zu beheben? Übersehen wir etwas?
Vielen Dank!