使用 Feign 客户端添加授权令牌

add Authorization token using Feign client

我有两个连接到注册表的服务,其中一个需要从另一个查询一些数据,需要将令牌传递给端点。

我已经尝试了以下但没有用,端点就像没有提供令牌一样。

    @GetMapping("/api/users/find")
    @Headers("Authorization: Bearer {token}")
    Optional<UserDTO> findUserByEmail(
        @Param("token") String token, @RequestParam("email") String email);
    @GetMapping("/api/users/find")
    Optional<UserDTO> findUserByEmail(
        @RequestHeaders("Authorization") String token, @RequestParam("email") String email);
    @GetMapping("/api/users/find")
    Optional<UserDTO> findUserByEmail(
        @HeaderMap Map<String, Object> headers , @RequestParam("email") String email);

应该像这样工作 @RequestHeader(value = "Authorization") String authorization,但请确保传递正确的值,必须类似于 Bearer token

您的代码完全正确。

    @GetMapping("/api/users/find")
    Optional<UserDTO> findUserByEmail(
    @RequestHeaders("Authorization") String token, @RequestParam("email") String email);

就在您调用此特定方法时,在令牌值前面添加“Bearer”

token = "Bearer " + token;
findUserByEmail(token,email);