OpenFeign添加认证Token
Tony | 351 |
2023-02-22
微服务--》服务间的调用【Token传递】
网上很多的论坛,都会有类似的文章,讲解如何解决服务之间Token传递问题,五花八门!!
简单讲解--》
技术选型:Spring Boot+Spring Security+OpenFeign
解决问题:服务之间调用Token之间传递的问题
上代码--》
@FeignClient
注释里面有一个属性参数:configuration
来配置拦截器
示例:
@FeignClient(value = "注册中心服务名称",configuration = {BioTechLeagueFeignInterceptor.class})
BioTechLeagueFeignInterceptor
类中实现RequestInterceptor
接口,重写apply(RequestTemplate requestTemplate)
方法,可以在方法内部写自定义逻辑,示例代码简单解决服务之间调用Token之间传递的问题
示例:
public class BioTechLeagueFeignInterceptor implements RequestInterceptor {
@Override
public void apply(RequestTemplate requestTemplate) {
ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
HttpServletRequest request = attributes.getRequest();
requestTemplate.header("Token", request.getHeader("Token"));
}
}
没了,Very simple,如有哪些不足之处,欢迎指出,互相学习!!!
推荐指数:
真诚点赞 诚不我欺~