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

Entendi o conceito do gateway, mas como faz para proteger o acesso direito do microserviço? Se alguém descobrir a url de um microserviço vai poder fazer uma requidição direta.

Manager Carlos Ferreira 21/01/2023

Olá, Márcio!
Tudo bem?

Existem algumas soluções, umas fáceis, e outras nem tanto.

1) A mais fácil:
Criar um token no microsserviço, e ao acessar este microsserviço você valida se o token enviado bate com o de acesso, se bater permite o acesso (basta criar um middleware global para fazer essa validação);

Ainda nessa mesma pegada, você pode ter um microsserviço específico, só para armazenar em um banco os tokens de acesso de cada microsserviço.

2) Usar o Keycloack (ainda vou fazer um curso sobre), porque com o Keycloack é possível trabalhar com troca de chaves publicas e privadas, e ainda diminui essa dupla latência (de toda hora ter que validar o acesso de microsserviço de autenticação).

3) Trabalhar com contratos de microsserviços, esse é mais complexo, bem mais complexo, para explicar aqui caberia um capitulo de um livro hehehee

Acha que a opção 1 ou 2 te atende?
Se tiver alguma dúvida para implementar, me pergunte, estou sempre à disposição.

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

Obrigado! Vou estudar sobre essas abordagens.

Márcio Galeno
murilo 21/01/2023

Carlos, sobe esta abordagem .

você poderia tbem criar um passport personal client neh ? algo desse tipo  -


artisan passport:client --personal

ai vai criar uma chave e um secret -

PASSPORT_CLIENT_ID="9c813dbb-9e09-4216-8499-d459ccb2670f"
PASSPORT_CLIENT_SECRET="RQKcI1wZdg5SeMl9ghtNmcNYs0bq1WpkmDt3BPrF"

com esta chave vc poderia proteger a sua rota tbem .

Route::group(['middleware' => ['auth:my-personal-client', 'scope:my-scope']] , function () {

 

e quando fazer o request , do gatway para o serviço usar o header com o token .

tbem daria neh ? 


murilo
Sabe a Solução? Ajude a resolver!

Precisa estar logado para conseguir responder a este ticket!

Clique Aqui Para Entrar!