java – 使用spring rest模板在服务上传播HTTP头(JWT Token)

我有一个微服务架构,它们都是由弹簧安全和JWT令牌组成的.

因此,当我调用我的第一个微服务时,我想使用JWT令牌并使用这些凭据向另一个服务发送请求.

如何检索令牌并再次发送到其他服务?

最佳答案
基本上,您的令牌应位于请求的标头中,例如:授权:承载.要获取它,您可以通过控制器中的@RequestHeader()检索任何标头值:

@GetMapping("/someMapping")
public String someMethod(@RequestHeader("Authorization") String token) {

}

现在,您可以将令牌放在标头中,以用于以下请求:

HttpHeaders headers = new HttpHeaders();
headers.set("Authorization", token);

HttpEntity<RestRequest> entityReq = new HttpEntity<RestRequest>(request, headers);

现在您可以将HttpEntity传递给您的其余模板:

template.exchange("RestSvcUrl", HttpMethod.POST, entityReq, SomeResponse.class);

希望我能提供帮助

转载注明原文:java – 使用spring rest模板在服务上传播HTTP头(JWT Token) - 代码日志