gpt4 book ai didi

spring-boot - spring boot 从请求中获取不记名 token 并调用另一个微服务

转载 作者:行者123 更新时间:2023-12-04 15:49:08 25 4
gpt4 key购买 nike

我有一个充当网关的 spring boot 微服务,需要从请求中获取授权 header ,将其附加到新请求并将请求传递给另一个微服务。我目前正在执行以下操作并且它有效,但想知道是否有更好的方法来做到这一点。

@GetMapping
public List<Task> getTasks(HttpServletRequest request, HttpServletResponse httpresponse) {

String bearerToken = request.getHeader("Authorization");

HttpHeaders httpHeaders = new HttpHeaders();
httpHeaders.set("Authorization", bearerToken);

HttpEntity<String> httpEntity = new HttpEntity <String> (httpHeaders);

String getTasksURL = "http://localhost:8082/tasks";
ResponseEntity<List<Task>> response = restTemplate.exchange(
getTasksURL,
HttpMethod.GET,
httpEntity,
new ParameterizedTypeReference<List<Task>>(){});
List<Task> taskslist = response.getBody();
return taskslist;
}

如果有关于使用 jwt 的代码示例,请提供链接。大多数代码示例只展示了单个微服务中 jwt 的配置,但没有看到最终调用另一个微服务、来回传递 token 的项目

最佳答案

我看不出你的做法有什么问题。但是,如果您正在实现一个仅传递请求的网关(可能有一些速率限制或安全性,但不是真正的业务逻辑),我建议您查看 http://spring.io/projects/spring-cloud-netflix - Zuul 代理部分。只需几个类,包括配置在内的总共不到 200 行代码,您就可以拥有一个完全可用的 API 网关。它很不错!

关于spring-boot - spring boot 从请求中获取不记名 token 并调用另一个微服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54582881/

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