Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用JWT的微服务身份验证和授权_Java_Spring Boot_Spring Security_Jwt_Microservices - Fatal编程技术网

Java 使用JWT的微服务身份验证和授权

Java 使用JWT的微服务身份验证和授权,java,spring-boot,spring-security,jwt,microservices,Java,Spring Boot,Spring Security,Jwt,Microservices,我创建了两个微服务,分别是A和B。每个微服务都有自己的数据库和用于存储用户名和密码的用户表。我在所有微服务中维护相同的签名密钥以生成密钥 微服务的用户可以轻松访问其微服务的安全api。但假设我想访问B microservice的安全api,那么在使用UserDetailsService在spring安全上下文中设置身份验证对象时,它会给我错误,因为B microservice用户表中不存在microservice用户 为了维护微服务与JWT令牌之间的安全api通信,我必须做些什么?在微服务体系结

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

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


为了维护微服务与JWT令牌之间的安全api通信,我必须做些什么?

在微服务体系结构中,我们需要一个单独的微服务身份验证服务。所有请求都将在API网关上根据此身份验证服务进行验证。Auth服务将为有效请求返回JWT,并将其传递给所有micro服务

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


“每个微服务都有自己的数据库和用于存储用户名和密码的用户表。”这是错误的,您应该有一个存储凭据的身份验证服务。所有其他服务只共享JWT签名密钥以验证JWT令牌。通常整个用户配置文件都存储在JWT令牌中,所以不需要向数据库或身份验证服务器发出任何其他请求。Thanks@AlexChernyshev...