Hola,
Problema
Al usar Discourse como proveedor de SSO a través de la API (dominio A), si intentas registrarte en Discourse (dominio B) con un botón de redes sociales, no ves inmediatamente el modal create-account, sino que vuelves al modal login.
En este punto, necesitas cerrar el modal login, luego hacer clic en el botón Sign Up y verás el modal create-account que deberías haber visto antes.
Demo del problema
Aquí tienes una breve demostración en video:
- Edge, con caché/cookies limpiadas y sin extensiones.
- Usando WP-Discourse configurado para usar Discourse como proveedor de SSO (la forma más rápida de mostrar el problema).
Lo que ves primero es que hago clic en el enlace de inicio de sesión de SSO de WP-Discourse.
Después de hacer clic en el botón de Facebook, soy redirigido al modal login en lugar de create-account.
Posible razón
Estamos usando dominios diferentes para Discourse y desde donde se llama a la API.
Para asegurarnos de que el problema no proviene de plugins o cualquier otra cosa, pude reproducirlo con un WordPress limpio (con WP-Discourse configurado para usar Discourse como proveedor de SSO) y un Discourse limpio. Ambos en dominios diferentes.
(Nota: esto no está relacionado con wp-discourse; es solo más fácil mostrar/probar el problema. También podemos reproducirlo con nuestra aplicación que consume la API de Discourse y actúa como proveedor de SSO).
Otras informaciones
- Configuraciones de seguridad de Discourse deshabilitadas (no estoy seguro si tiene algún efecto, CSP deshabilitada, cookies a Ninguna o Deshabilitadas).
- Discourse actualizado a la última versión.
- No hay problemas al iniciar sesión con SSO.
- Nada en la consola del navegador ni en los registros de Discourse.
- Si experimentas el problema una vez con la API de SSO e intentas registrarte con redes sociales directamente en Discourse, obtendrás el mismo problema. En este punto, necesitas borrar tus cookies/caché para que funcione. (mismo problema reportado aquí: Suggestion: unite the sign up & log in buttons)
Dado que Discourse es capaz de mostrar el esperado create-modal con campos pre-llenados después de hacer clic manualmente en Sign Up, me hace pensar que hay un error o una situación que Discourse podría manejar. ¿Estoy equivocado?
¿Hay algo que se pueda hacer para corregir este comportamiento? ¿Nos estamos perdiendo algo?
¡Gracias!