结合openfeign如何传递认证消息
来源:3-1 Restful简介

破地瓜
2020-06-23
当前服务包含三个服务
- nacos(注册中心)
- OAuth服务(登陆认证)
- 服务A(业务服务)
- 服务B(业务服务)
服务A和服务B 注册到nacos, 服务A和服务B 分别接入OAuth(单点登陆方式)
服务A调用服务B时 使用的openfeign的声名式客户端;
并在服务A 中写了以下代码;
@Bean
public RequestInterceptor requestTokenBearerInterceptor() {
return new RequestInterceptor() {
@Override
public void apply(RequestTemplate requestTemplate) {
OAuth2AuthenticationDetails details = (OAuth2AuthenticationDetails)
SecurityContextHolder.getContext().getAuthentication().getDetails();
requestTemplate.header("Authorization", "bearer " + details.getTokenValue());
}
};
}
目前此请求被服务B拦截(会返回0auth服务的登录页) ,如何才能在服务A通过openfeign调用服务B时,让服务B能取到当前的认证信息呢?
写回答
1回答
-
JoJo
2020-06-23
这么写应该可以啊,你确认这个Interceptor生效了吗?
012020-06-23
Spring Security技术栈开发企业级认证与授权
Spring Security技术栈,REST风格开发常见接口,独立开发认证授权模块保证REST服务安全
2662 学习 · 1561 问题
相似问题