[PROMOÇÃO] Assine com + 30% de desconto ANUAL MENSAL (últimas horas)
FABIO PEREIRA DE LIMA
Criador FABIO PEREIRA DE LIMA 06/04/2022

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?

Manager Carlos Ferreira 06/04/2022

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

Carlos Ferreira
Criador FABIO PEREIRA DE LIMA 06/04/2022

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.

FABIO PEREIRA DE LIMA
Manager Carlos Ferreira 06/04/2022

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.

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

Precisa estar logado para conseguir responder a este ticket!

Clique Aqui Para Entrar!