Acesso direto via micro serviços
[Finalizado Pelo Aluno]
Como faço para bloquear o acesso direto aos micro serviços, pois o acesso só é restringido quando aceso via micro-gateway, qual estratégia utilizaria para obrigar que o cliente sempre use o micro-gateway para acessar os demais micro serviços?
Olá, Fábio!
Tudo bem?
Você pode criar um middleware global no microservice, que pega do header o token de acesso ao microservice.
# Middleware
$token = $request->header('Authorization-token');
if ($token != config('microservice.token')) {
abort(401, 'Not Authorized');
}
Pegou a ideia?
---
Outra estratégia, seria usando o famoso KeyCloak
crio um token manualmente (authorization-token) no micro serviço e adiciono o parâmetro authorization-token nas requisições do migro-gateway, com o middleware global no meu micro serviço faço a verificação, certo?
Já o KeyCloak pelo que pesquisei seria uma opção para restringir a nivel de container.
Exato, o seu micro-gateway vai ter o token de acesso de cada microservice.
Uma alternativa é ter uma tabela que o micro-gateway acessa para ter estes dados (os tokens de cada microservice)
--
Sobre o KeyCloak ele funciona para fazer a autenticação dos usuários e autorização (nesse caso nem precisaria daquele micro acl) - e com isso você consegue validar através do próprio KeyCloak o que cada usuário pode realmente acessar.
Precisa estar logado para conseguir responder a este ticket!
Clique Aqui Para Entrar!