首页 > 图灵资讯 > java面试题>正文

Feign怎么实现认证传递?

2024-03-20 13:13:45

 

比较常见的一个做法是,使用拦截器传递认证信息。可以通过实现RequestInterceptor接口来定义拦截器,在拦截器里,把认证信息添加到请求头中,然后将其注册到Feign的配置中。

@Configuration
public class FeignClientConfig {

    @bean
    public RequestInterceptor requestInterceptor() {
        return new RequestInterceptor() {
            @Override
            public void apply(RequestTemplate template) {
                // 添加认证信息到请求头中
                template.header("Authorization", "Bearer " + getToken());
            }
        };
    }

    private string getToken() {
        // 获取认证信息的逻辑,可以从SecurityContext或其他地方获取
        // 返回认证信息的字符串形式
        return "your_token";
    }
}

 


 
上一篇 为什么Feign第一次调用耗时很长?
下一篇 Fegin怎么做负载均衡?Ribbon?

文章素材均来源于网络,如有侵权,请联系管理员删除。