当前位置: 代码迷 >> 综合 >> 【Spring Cloud】Spring Cloud Feign 携带 Token
  详细解决方案

【Spring Cloud】Spring Cloud Feign 携带 Token

热度:56   发布时间:2023-11-19 16:01:59.0

在 Spring Cloud 微服务架构体系中,通常使用 Feign 作为服务之间的通信组件,但是在某些场景下我们对某个服务做了权限拦截,例如 Shiro 或者 Spring Security,往往需要验证 token

使用 Feign 如何解决 token 的问题呢?

可以先获取原 token,重新转发 token

@Configuration
public class FeignConfig implements RequestInterceptor {
    @Overridepublic void apply(RequestTemplate requestTemplate) {
    ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();HttpServletRequest request = attributes.getRequest();requestTemplate.header("X-Access-Token", request.getHeader("X-Access-Token"));}
}

s

  相关解决方案