重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
这篇文章给大家分享的是有关Spring Cloud Feign如何实现统一设置验证token的方法的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。
创新互联-专业网站定制、快速模板网站建设、高性价比盘锦网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式盘锦网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖盘锦地区。费用合理售后完善,十载实体公司更值得信赖。我们也在zuul中通过前置过滤器来统一设置token, 其实还漏掉了一种,那就是业务服务调用业务服务的时候,是没有zuul这种前置过滤器的,那么我们该如何设置呢?
其实也挺简单的,因为我们服务之前的调用是依赖于Feign的,我们可以从Feign上来做文章。
如果你仔细看过Feign的文档的话,肯定会注意到下面一段代码:
static class DynamicAuthTokenTargetimplements 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));