Obter informações do usuário logado de outro site

Existe alguma maneira de obter informações do usuário atualmente logado no Discourse a partir da minha SPA React sem recarregar a página?

3 curtidas

Hmm, a rota /session/current.json funcionaria aqui? :thinking:

Tentei enviar uma requisição GET, mas ela retornou 404.

Eu acho que você pode precisar do Discourse Connect para que ambos os sites façam login na mesma fonte de SSO.

Estou apenas tentando obter o nome de usuário atualmente logado. Não é necessário fazer login.

Esse é o ponto. Se você não estiver logado no Discourse, essa rota retorna um 404.

Em outro navegador onde não estou logado:

Não é isso que você quer? :thinking:

1 curtida

Funciona quando envio a solicitação da API dentro do meu fórum. Mas não do meu site React, que está rodando no mesmo navegador.

O que faz sentido, esse site React não tem e não pode obter as credenciais relevantes do fórum para fazer a solicitação, e não deveria conseguir obtê-las. Seria um problema de segurança extremo se pudesse. Eu recomendaria fazer o que foi mencionado acima e configurar o Discourse Connect.

3 curtidas

Já estou usando o Discourse Connect, onde permito que membros de um grupo específico façam login no meu site usando o Discourse.
Eu tenho um composer diretamente no meu aplicativo React para permitir que o usuário crie um tópico diretamente do meu aplicativo React sem precisar criar uma conta no meu aplicativo React. Portanto, preciso saber as informações do usuário que está logado no Discourse.
O problema com o SSO é que ele requer uma recarga completa da página, o que preciso evitar para que meu recurso funcione.

Não acredito que isso seja possível, mas talvez outra pessoa possa te ajudar e me provar que estou errado.

1 curtida

Você quer ter certeza de que não está fazendo chamadas de API por meio de um front-end JavaScript que tenha uma chave de API.

4 curtidas

Claro, eu uso componentes de servidor nesses casos. Obrigado pela sua sugestão.