【发布时间】:2020-11-29 05:50:27
【问题描述】:
我创建了两个微服务让 A 和 B。每个微服务都有自己的数据库和用于存储用户名和密码的用户表。我正在维护相同的签名密钥以在所有微服务中生成密钥。
微服务的用户可以轻松访问其微服务的安全 API。但是假设我想访问 B 微服务的安全 api,那么它会在使用 UserDetailsService 在 Spring 安全上下文中设置身份验证对象时给我错误,因为 B 微服务用户表中不存在 A 微服务用户。
如何使用 JWT Token 维护微服务之间的安全 api 通信?
【问题讨论】:
-
'每个微服务都有自己的数据库和用于存储用户名和密码的用户表。 ' - 这是错误的,您应该拥有存储凭据的单一身份验证服务。所有其他服务只共享 JWT 签名密钥来验证 JWT 令牌。通常整个用户配置文件都存储在 JWT 令牌中,因此不需要对数据库或身份验证服务器的任何其他请求。
-
谢谢@AlexChernyshev...
标签: java spring-boot spring-security jwt microservices