gpt4 book ai didi

java - 使用 spring rest 模板在服务上传播 HTTP header (JWT token )

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:46:44 26 4
gpt4 key购买 nike

我有一个微服务架构,它们都由 spring security 和 JWT token 保护。

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

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

最佳答案

基本上,您的 token 应该位于请求的 header 中,例如:Authorization: Bearer。要获取它,您可以通过 Controller 中的@RequestHeader() 检索任何 header 值:

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

}

现在您可以将 token 放在以下请求的 header 中:

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 header (JWT token ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46729203/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com