Login SSO com Discourse

Você não está entendendo o que quero transmitir. Não estou perguntando sobre como recuperar detalhes do usuário do Discourse após o login. Por favor, entenda o fluxo completo do que estou tentando alcançar e me diga se é possível com o Discourse ou se devo prosseguir com minha própria abordagem.

Atualmente, tenho um projeto construído usando o framework Laravel e quero fornecer aos usuários acesso ao fórum Discourse para feedback. Decidi implementar o login SSO para o Discourse. Criei uma conta de administrador do Discourse e ativei as configurações necessárias para o login SSO, incluindo a ativação do SSO, a definição da URL de redirecionamento e a configuração do segredo.

Agora, adicionei um botão ‘Discourse Connect’ dentro do meu projeto. Quero que, quando os usuários clicarem neste botão, registrem-se ou façam login usando minhas credenciais e façam login automaticamente no Discourse. Quando os usuários clicam no botão ‘Discourse Connect’, eles são redirecionados para a URL da minha comunidade base com o endpoint de sessão/sso, que então redireciona de volta para minha URL do Discourse Connect. Recebo os parâmetros SSO e sig na solicitação, que entendo serem para validação. No entanto, preciso do user_id ou de algum identificador para recuperar os dados do usuário do meu banco de dados para validar, autenticar e fazer login do usuário no Discourse.

Minha pergunta é: existe uma API ou algum mecanismo no Discourse que possa retornar o user_id junto com os parâmetros SSO e sig na solicitação? Isso é importante porque, sem recuperar os dados do usuário na solicitação, eu teria que fazer o usuário fazer login novamente, o que proporcionaria uma experiência de usuário ruim. Essencialmente, quando um usuário faz login no meu projeto e clica no botão ‘Discourse Connect’, a URL do Discourse Connect é acionada e recebo os parâmetros SSO e sig. Para autenticar o usuário, preciso buscar os dados do usuário no banco de dados, mas isso exigiria que o usuário fizesse login novamente, o que quero evitar.

Quero uma experiência perfeita onde, se o usuário já fez login uma vez, ele não precise fazer login novamente. Eles devem poder acessar o fórum Discourse diretamente usando suas credenciais do projeto.