我创建了两个微服务,分别为A和B。每个微服务都有自己的数据库和用于存储用户名和密码的用户表。我正在维护用于在所有微服务中生成密钥的相同签名密钥。
微服务的用户可以轻松访问其微服务的安全api。但是假设我想访问B微服务的安全api,那么在Spring Security上下文中使用UserDetailsService设置身份验证对象时会给我错误,因为B微服务User表中不存在A微服务用户。
使用JWT令牌维护微服务之间的安全api通信时,我需要做什么?
答案 0 :(得分:1)
在微服务架构中,我们需要有一个单独的微服务验证服务。所有请求都将通过API网关针对此Auth服务进行验证。 Auth服务将为有效请求返回JWT,并将其传递给所有微服务。
您可以参考以下内容以更好地理解:
https://microservices.io/patterns/security/access-token.html https://microservices.io/patterns/apigateway.html