4

在我们的微服务中,我们使用 Feign 在服务之间进行通信,我们有一个专用的 RequestInterceptor 来处理安全性并将我们的 JWT 令牌附加到每个请求。

我想使用 Feign 来调用我组织之外的第 3 方服务。

假设我的 FeignClient 看起来像这样。

@FeignClient(name = "ThirdPartyClient", url = "https://api.thirdparty.com/", configuration = ThirdPartyConfiguration.class)
public interface ThirdPartyClient { ... }

问题是这个第 3 方客户端也将通过 RequestInterceptors 列表并获得在我的微服务之间使用的相同身份验证标头。我想绕过 RequestInterceptors 的默认列表来设置一个特定的。

我试图覆盖文档中描述的默认配置,我设法添加了特定的 RequestInterceptor 但仍然通过列表,所以我得到了请求中的所有标头。

@Configuration
public class ThirdPartyConfiguration {

    @Bean
    public RequestInterceptor requestInterceptor() {
        return requestTemplate -> {
            requestTemplate.header("Authorization", "HEADER_VALUE");
        };
    }
}
4

0 回答 0