SpringCloudFeign如何实现统一设置验证token的方法-创新互联

这篇文章给大家分享的是有关Spring Cloud Feign如何实现统一设置验证token的方法的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。

创新互联-专业网站定制、快速模板网站建设、高性价比盘锦网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式盘锦网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖盘锦地区。费用合理售后完善,十载实体公司更值得信赖。

我们也在zuul中通过前置过滤器来统一设置token, 其实还漏掉了一种,那就是业务服务调用业务服务的时候,是没有zuul这种前置过滤器的,那么我们该如何设置呢?

其实也挺简单的,因为我们服务之前的调用是依赖于Feign的,我们可以从Feign上来做文章。

如果你仔细看过Feign的文档的话,肯定会注意到下面一段代码:

static class DynamicAuthTokenTarget implements Target {
  public DynamicAuthTokenTarget(Class clazz,
                 UrlAndTokenProvider provider,
                 ThreadLocal requestIdProvider);
  ...
  @Override
  public Request apply(RequestTemplate input) {
   TokenIdAndPublicURL urlAndToken = provider.get();
   if (input.url().indexOf("http") != 0) {
    input.insert(0, urlAndToken.publicURL);
   }
   input.header("X-Auth-Token", urlAndToken.tokenId);
   input.header("X-Request-ID", requestIdProvider.get());
   return input.request();
  }
 }
 ...
 Bank bank = Feign.builder()
     .target(new DynamicAuthTokenTarget(Bank.class, provider, requestIdProvider));

分享名称:SpringCloudFeign如何实现统一设置验证token的方法-创新互联
链接URL:http://pwwzsj.com/article/pised.html