在我们的微服务中,我们使用Feign在服务之间进行通信,我们有专用的RequestInterceptor来处理安全性并将JWT令牌附加到每个请求。
我想使用Feign拨打组织外部的第三方服务。
让我的FeignClient看起来像这样。
@FeignClient(name = "ThirdPartyClient", url = "https://api.thirdparty.com/", configuration = ThirdPartyConfiguration.class)
public interface ThirdPartyClient { ... }
问题在于,该第三方客户端也将遍历RequestInterceptor列表,并获得在我的微服务之间使用的相同身份验证标头。 我想绕过RequestInterceptor的默认列表来设置特定列表。
我尝试按照doc中所述覆盖默认配置,我设法添加了特定的RequestInterceptor,但仍然遍历列表,因此我在请求中获得了所有标头。
@Configuration
public class ThirdPartyConfiguration {
@Bean
public RequestInterceptor requestInterceptor() {
return requestTemplate -> {
requestTemplate.header("Authorization", "HEADER_VALUE");
};
}
}