Como compartilhar o escopo de usuário entre microserviços?
Na API gateway é chamado o microserviço de autenticação para verifica o token e depois chama um microserviço qualquer. Bem, e se eu quisesse fazer uma consulta em determinado microserviço baseado no usuário logado, uma vez que, estes não tem rotas protegidas por login e consequentemente não tem usuário na sessão da requisição com JWT?
Olá, Márcio!
Tudo bem?
"se eu quisesse fazer uma consulta em determinado microsserviço baseado no usuário logado?"
Se a requisição é com base no usuário logado (autenticado), precisa passar o token dele, caso contrário, seria uma requisição sem autenticação, e uma vez que precisa de autenticação, não seria possível o acesso (não autorizado).
Me descreva um pouco mais o seu cenário, que assim consigo entender melhor o seu case e te ajudar a seguir o melhor caminho.
No aguardo amigo! :-)
Eu entendo essa questão do token, que tem passar pra saber o usuário, mas isso é passado para a API Gateway que depois enviar a requisição pra um microserviço e pelo que entendi estes não tem middleware de auth.
Por exemplo, eu tenho um microserviço que gerencia as cursos comprados por alunos. Para listar os cursos de terminado aluno logado, é feita uma requisição que bate no API Gateway (onde é verificado se o token do usuário é valido), se for válido é enviado uma requisição ao mocriserviço. Chegando a requisição no microserviço, no endpoit pra listar os cursos, preciso pegar o usuário logado pra poder fazer o WHERE na consulta. Porém, esse microserviço não tem middleware de auth, como vai pegar o usuário logado? A forma que eu pensei foi fazer as API do microserviço de cursos comprados passando o paramentro do usuário no endpoint.
Boa, se passar o identificador do usuário autenticado vai conseguir com sucesso filtrar os dados pelo usuário.
Você pode personalizar no seu próprio gateway, o envio deste parâmetro de identificação do usuário.
Ou mesmo passar o próprio token, aí neste caso teria mais uma requisição no microsserviço de gateway, para recuperar os dados do usuário dono do token.
Pegou a ideia?
De qualquer forma, como você pensou foi a forma mais simples.
Precisa estar logado para conseguir responder a este ticket!
Clique Aqui Para Entrar!