如何使用来自另一个微服务Java的JWT安全微服务
我的应用程序有几个微服务,包括:身份验证、游戏和组。 当我按下前端(Play)上的按钮时,我正在调用组RESTAPI方法,比如foo()。 为了在组内实现foo(),我需要获取调用游戏RESTAPI,但它是安全的 当我登录React应用程序时,我从/login(Auth)获取JWT令牌并将其存储在localstorage中。然后我成功地使用它从组中调用foo(),但在foo()实现中,我还需要使用jwt令牌,以便能够从游戏中获取信息如何使用来自另一个微服务Java的JWT安全微服务,java,spring,spring-boot,jwt,microservices,Java,Spring,Spring Boot,Jwt,Microservices,我的应用程序有几个微服务,包括:身份验证、游戏和组。 当我按下前端(Play)上的按钮时,我正在调用组RESTAPI方法,比如foo()。 为了在组内实现foo(),我需要获取调用游戏RESTAPI,但它是安全的 当我登录React应用程序时,我从/login(Auth)获取JWT令牌并将其存储在localstorage中。然后我成功地使用它从组中调用foo(),但在foo()实现中,我还需要使用jwt令牌,以便能够从游戏中获取信息 @Configuration //+component sca
@Configuration
//+component scans...
public class GroupConfiguration {
@Bean
@LoadBalanced
public WebClient.Builder buildWebClientBuilder() {
return WebClient.builder();
}
}
@RestController
@RequestMapping("/groups")
public class Controller {
private final Logger logger = LogManager.getLogger();
@Autowired
private WebClient.Builder webClientBuilder;
private int getMinimumNumberOfPlayers(int gameId) {
try {
return webClientBuilder.build()
.get()
.uri("http://game-service/games/minimumNumberOfPlayers/2")
.retrieve()
.bodyToMono(Integer.class)
.block();
} catch (NullPointerException|WebClientResponseException e) {
e.printStackTrace();
return 0;
}
}
...
// foo() frontend calls foo(). foo it's using getMinimumNumberOfPlayers
GetMinimumNumberOfPlayer()用于组中的foo()方法。它应该根据id检索一个游戏的最少玩家数量,但是游戏微服务是jwt安全的,我得到了一个未经授权的错误
所以我的问题是,我怎样才能让群微服务能够称之为游戏微服务
谢谢
编辑:
我就是这样解决的。即使我有一些安全问题,我也会回答这个问题: 你能做的是:
请求上下文中
请求上下文中获取JWT,并将其添加到请求头中
这里重要的是
请求上下文
即使我有一些安全问题,我也会回答这个问题:
你能做的是:
请求上下文中
请求上下文中获取JWT,并将其添加到请求头中
这里重要的是
请求上下文
,这通常不是实现系统间通信的方式。例如,Oauth对于用户到系统和系统到系统的通信有不同的流程。这通常不是实现系统到系统通信的方式。例如,Oauth对于用户到系统和系统到系统的通信具有不同的流。