Quando um usuário faz login no meu site, obtenho o JWT e também o loga no Discourse imediatamente. Ao final desse fluxo, ele acaba no site do Discourse em vez de retornar ao meu site.
Tentei verificar os métodos de redirecionamento da biblioteca omniauth, que incluem o parâmetro origin e o cookie destination_urldesta fonte. Nenhum deles parece funcionar.
EDIT: Acabei de perceber que estive olhando para duas bibliotecas diferentes: omniauth e os callbacks omniauth do Discourse. De qualquer forma, ainda não tenho certeza de como fazer isso funcionar.
você o redireciona para o Discourse para fazer login lá
eles acabam logados no Discourse?
Acho que esse não é um caminho suportado. Em geral, um usuário estaria no Discourse, clicaria em “Login”, visitaria seu site para autenticação e seria redirecionado de volta. Se um usuário fizer login diretamente no seu site, ele deve permanecer no seu site.
Normalmente, fazemos isso mantendo o Discourse deslogado, mas quando eles clicam em “Login”, ele é redirecionado de volta sem precisar preencher o formulário de autenticação novamente.
Então, os embeds realmente utilizam a sessão de autenticação (ou o cookie de sessão) para mostrar ou ocultar tópicos privados do Discourse.
Esse fluxo de autenticação faz sentido, mas para começar, vou redirecionar as pessoas para o fórum do Discourse para fazer login em uma nova aba. Elas poderão acessar tópicos privados após uma atualização da página.