[PROMOÇÃO] Assine com + 30% de desconto ANUAL MENSAL (últimas horas)
Márcio Galeno
Criador Márcio Galeno 23/01/2023

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?

Manager Carlos Ferreira 23/01/2023

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! :-)

Carlos Ferreira
Criador Márcio Galeno 23/01/2023

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.

Márcio Galeno
Manager Carlos Ferreira 23/01/2023

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.

Carlos Ferreira
Sabe a Solução? Ajude a resolver!

Precisa estar logado para conseguir responder a este ticket!

Clique Aqui Para Entrar!