使用JWT进行微服务认证和授权

时间:2020-08-09 12:34:40

标签: java spring-boot spring-security jwt microservices

我创建了两个微服务,分别为A和B。每个微服务都有自己的数据库和用于存储用户名和密码的用户表。我正在维护用于在所有微服务中生成密钥的相同签名密钥。

微服务的用户可以轻松访问其微服务的安全api。但是假设我想访问B微服务的安全api,那么在Spring Security上下文中使用UserDetailsS​​ervice设置身份验证对象时会给我错误,因为B微服务User表中不存在A微服务用户。

使用JWT令牌维护微服务之间的安全api通信时,我需要做什么?

1 个答案:

答案 0 :(得分:1)

在微服务架构中,我们需要有一个单独的微服务验证服务。所有请求都将通过API网关针对此Auth服务进行验证。 Auth服务将为有效请求返回JWT,并将其传递给所有微服务。

您可以参考以下内容以更好地理解:

https://microservices.io/patterns/security/access-token.html https://microservices.io/patterns/apigateway.html