Estamos buscando construir uma comunidade usando APIs do Discourse. Estamos enfrentando um problema no fluxo.
Nosso Front-end é um aplicativo React e o Back-end é baseado em NodeJS com uma arquitetura de microsserviços. Gerenciamos todo o fluxo de autenticação em nosso sistema.
Pelo que entendi do Discourse Connect, o fluxo é:
-
O Front-end cria o payload, com um nonce, informações do usuário e, em seguida, faz uma chamada para example.com/session/SSO?sso=xx&sig=xx.
-
O Discourse, então, faz uma chamada de volta para o
discourse_connect_url, onde validarei o payload e retornarei a URL de redirecionamento, e os usuários serão redirecionados para o Discourse.
No entanto, quando crio o payload com informações do usuário, não consigo propagá-lo do meu Front-end para o Discourse e, em seguida, para o Back-end. Alguém pode me ajudar ou meu entendimento está correto? Pesquisei no fórum também com soluções esperadas, mas sem sucesso.
Note que, quando eu defino informações de usuário fixas (hardcoded) do Back-end, consigo logar usuários no Discourse.
Quero que nosso site seja o provedor de autenticação para o Discourse e que as informações do usuário sejam propagadas do Front-end para o Back-end. Alguém pode me ajudar com o fluxo ou talvez com alguns exemplos para Javascript?