天天看点

Feign 请求添加 Oauth2 认证 token

@Configuration
@Slf4j
public class FeignOAuth2RequestInterceptor implements RequestInterceptor {

    @Override
    public void apply(RequestTemplate requestTemplate) {
        HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
        String accessToken = request == null ? StringUtils.EMPTY : request.getHeader(HttpHeaders.AUTHORIZATION);
        log.info("Feign拦截器,拦截到Feign的Http请求发送,从当前Request的Header中获取AUTHORIZATION值为:{}", accessToken);
        requestTemplate.header(HttpHeaders.AUTHORIZATION, accessToken);
    }
}