Estou planejando implementar uma arquitetura onde:
O API Gateway interage com vários serviços e um aplicativo frontend Vue.js. O API Gateway cria suas próprias sessões vinculando solicitações de usuários a tokens armazenados. O frontend usa cookies de sessão para se comunicar com o API Gateway. A autenticação é tratada pelo Keycloak como o provedor SSO. O objetivo é manter o frontend inconsciente do token real, mantendo a segurança e a flexibilidade.
Fonte de inspiração: https://medium.com/@a.zagarella/microservices-architecture-a-real-business-world-scenario-c77c31a957fb
O artigo descreve o uso do Spring Cloud Gateway, mas no meu caso será o api gateway no golang.
Exemplo de uma solicitação de acesso a recursos protegidos em um Servidor de Recursos:
Quais são algumas das melhores práticas para implementar esse tipo de configuração? Há alguma armadilha potencial da qual eu deva estar ciente?
Essa abordagem parece semelhante ao que está descrito no artigo vinculado, mas gostaria de obter mais informações sobre como implementá-la de forma eficaz.
Forneça orientação sobre:
Como armazenar e gerenciar tokens com segurança no API Gateway Melhores práticas para gerenciamento de sessão entre o frontend e o API Gateway Como lidar com atualização e expiração de tokens Quaisquer considerações de segurança que eu deva ter em mente Estou particularmente interessado em como equilibrar segurança, facilidade de uso e escalabilidade nesta arquitetura.
Obrigado pela sua competência!