Feign拦截器实现Feign请求token共享

一. 概述

分布式服务系统中, 服务间调用一般用Feign组件实现, 一般请求的token都在请求头上, Feign请求默认是不带token的, 但是我们可以通过拦截器实现Feign请求的请求头带上token

二. 编写拦截器注入

import feign.RequestInterceptor;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class QwFeignConfigure {

    @Bean
    public RequestInterceptor qwFeignRequestInterceptor() {
        return requestTemplate -> {
            requestTemplate.header("token", "123456");
        };
    }
}

踩坑注意

如果你需要动态获取token的, 同时服务引入了Spring-Cloud Hystrix组件, 记得开启共享上下文配置
hystrix.shareSecurityContext=true

你可能感兴趣的:(Feign拦截器实现Feign请求token共享)