Cuando un usuario inicia sesión en mi sitio, obtengo el JWT y también los inicio sesión en Discourse de inmediato. Al final de este flujo, terminan en el sitio de Discourse en lugar de volver a mi sitio.
He intentado revisar los métodos de redirección de la biblioteca omniauth, que incluyen el parámetro origin y la cookie destination_url desde aquí. Ninguno de ellos parece funcionar.
EDIT: Acabo de darme cuenta de que he estado revisando dos bibliotecas diferentes: omniauth y las llamadas de omniauth de Discourse. De todos modos, sigo sin saber cómo hacer que esto funcione.
Lo rediriges a Discourse para que inicie sesión allí.
¿Acaba iniciando sesión en Discourse?
No creo que esta sea una ruta compatible. En general, un usuario estaría en Discourse, haría clic en “Iniciar sesión”, visitaría tu sitio para la autenticación y sería redirigido de vuelta. Si un usuario inicia sesión directamente en tu sitio, debería permanecer en tu sitio.
Normalmente, lo que hacemos es mantener a Discourse sin iniciar sesión, pero cuando hacen clic en “Iniciar sesión”, se redirigen sin tener que volver a rellenar el formulario de autenticación.
Así que, los embeds sí utilizan la sesión de autenticación (o la cookie de sesión) para mostrar u ocultar temas privados de Discourse.
Este flujo de autenticación tiene sentido, pero para empezar, redirigiré a los usuarios al foro de Discourse para iniciar sesión en una nueva pestaña. Podrán acceder a los temas privados después de actualizar la página.