Ciao,
Problema
Utilizzando Discourse come provider SSO tramite API (dominio A), se si tenta di registrarsi su Discourse (dominio B) tramite un pulsante social, non viene visualizzato immediatamente il modale create-account, ma si viene reindirizzati al modale login.
A questo punto, è necessario chiudere il modale login, quindi cliccare sul pulsante Sign Up per visualizzare il modale create-account che si sarebbe dovuto vedere prima.
Demo del problema
Ecco una breve demo video:
- Edge, con cache/cookie puliti e senza estensioni.
- Utilizzo di WP-Discourse configurato per usare Discourse come provider SSO (il modo più veloce per mostrare il problema).
Ciò che si vede per primo è il clic sul link di login SSO di WP-Discourse.
Dopo aver cliccato sul pulsante Facebook, vengo reindirizzato al modale login invece che a create-account.
Possibile motivo
Stiamo utilizzando domini diversi per Discourse e per quello da cui viene chiamata l’API.
Per essere certi che il problema non sia causato da plugin o altro, ho potuto riprodurlo con una installazione pulita di WordPress (con WP-Discourse configurato per usare Discourse come provider SSO) e una installazione pulita di Discourse. Entrambi su domini diversi.
(Nota: questo non è correlato a wp-discourse, è solo un modo più semplice per mostrare/testare il problema. Possiamo riprodurlo anche con la nostra app che consuma l’API di Discourse e funge anche da provider SSO).
Altre informazioni
- Impostazioni di sicurezza di Discourse disabilitate (non sono sicuro che abbiano un effetto, CSP disabilitata, cookie impostati su None o Disabled).
- Discourse aggiornato all’ultima versione
- Nessun problema con il login tramite SSO
- Nessun messaggio nella console del browser o nei log di Discourse
- Se si verifica il problema una volta con l’API SSO e si prova a registrarsi con i social direttamente su Discourse, si incontra lo stesso problema. A questo punto, è necessario cancellare cookie e cache per far funzionare tutto. (stesso problema segnalato qui: Suggestion: unite the sign up & log in buttons)
Dato che Discourse è in grado di mostrare il modale create-modal atteso con campi precompilati dopo aver cliccato manualmente su Sign Up, mi fa pensare che ci sia un bug o una situazione che Discourse dovrebbe gestire. Ho torto?
C’è qualcosa che si può fare per risolvere questo comportamento? Ci stiamo perdendo qualcosa?
Grazie!