Problema con el modal de inicio de sesión social (nuevo usuario) cuando /login se abre programáticamente en un iframe

Hola,

Contexto

He creado una aplicación que utiliza la API de Discourse y SSO como proveedor.
Actualmente, la aplicación se muestra dentro de un iframe y, por lo tanto, para que el inicio de sesión social funcione correctamente, la página /login debe abrirse fuera del iframe en una nueva pestaña del navegador.
Hasta aquí, todo bien.

Problema

Cuando un nuevo usuario se registra utilizando un botón de redes sociales, es redirigido correctamente al sitio social y, una vez que regresa a Discourse, es aquí donde surge el problema: Discourse muestra el modal de inicio de sesión en lugar del que tiene el nombre de usuario/correo electrónico prellenado.
Para ver ese modal y finalizar tu registro, debes cerrar el modal de inicio de sesión y luego hacer clic manualmente en el botón de registro.

Solo para usuarios nuevos; el inicio de sesión funciona como se espera.
¿Me he perdido algo o hay algún contexto que Discourse no maneja correctamente? Técnicamente debería ser lo mismo.

Si quieres ver una demostración, házmelo saber; puedo enviarte por mensaje privado un video rápido (muestra información privada).

¡Cualquier ayuda será bien recibida!

¿Estás en la última versión de Discourse?

Sí. (disculpa los textos en otros idiomas, estoy trabajando para un cliente que utiliza hebreo)

¿Alguna ayuda con esto, por favor?

Para ser más precisos, la aplicación se utiliza en una extensión de Chrome. Estamos usando un iframe porque no tenemos otra opción en este momento. Pero, aun así, no estoy seguro de cómo es diferente abrir programáticamente desde un iframe una nueva pestaña en el navegador a /login o /signup directamente, en comparación con abrir manualmente una pestaña y hacer clic en el botón de inicio de sesión/registro.

¿Es algo que se pueda solucionar en Discourse?

Actualmente, estamos utilizando Discourse como proveedor de SSO. ¿Existen otras formas?
De ser así, ¿cuál sería la mejor manera de lograr el inicio de sesión/registro en este contexto?

¿Cómo lo has implementado? Parece que se están perdiendo algunas cookies/sesiones en algún lugar.

En general, no admitimos el uso de Discourse en un iframe. Como has comprobado, hay comportamientos extraños que pueden causar problemas.

No estoy incrustando Discourse en un iframe. Estoy usando la API para mostrar los mensajes de un tema.

No intento iniciar sesión o registrarme dentro de un iframe porque los sitios de redes sociales no permiten mostrarse dentro de ellos. Por eso, cuando el usuario hace clic en un botón dentro del iframe, se abre una nueva pestaña del navegador hacia la página /login de Discourse.

Técnicamente, cuando el usuario hace clic en el botón de iniciar sesión, se abre una nueva pestaña con /session/sso_provider. return_sso_url contendrá una URL hacia el backend para procesar los datos, guardar la información de la sesión del usuario y luego responder con algo de HTML para cerrar automáticamente la ventana. La aplicación luego detectará que se ha completado y se recargará automáticamente para poder usar la sesión guardada del usuario.

Incluso si la aplicación no estuviera en un iframe, probablemente ocurriría lo mismo. Dado que es una extensión del navegador, de todos modos no tienes más opción que abrir una nueva pestaña. Me pregunto si hay mejores formas de iniciar sesión o registrarse en este caso.

EDIT: Aquí hay una demostración (no estaba destinada a ser pública, pero bueno, es la forma más corta de mostrar el problema y siento que no lo estoy explicando lo suficientemente bien):
recortado, video eliminado, a nadie le importa de todos modos
EDIT2: Parece que solo ocurre al usar la API /session/sso_provider; si abro la URL de Discourse directamente (aunque sea desde un iframe), parece que el problema no ocurre.