前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用openfeign传递oauth2令牌

使用openfeign传递oauth2令牌

作者头像
路过君
发布2020-06-19 16:43:18
1.4K0
发布2020-06-19 16:43:18
举报

通过RequestInterceptor拦截Feign请求并装填OAuth2 Token

代码语言:javascript
复制
public class OAuth2FeignRequestInterceptor implements RequestInterceptor {
    private static final String AUTHORIZATION_HEADER = "Authorization";

    private static final String BEARER_TOKEN_TYPE = "Bearer";

    private final OAuth2RestTemplate oAuth2RestTemplate;

    public OAuth2FeignRequestInterceptor(OAuth2RestTemplate oAuth2RestTemplate) {
        this.oAuth2RestTemplate = oAuth2RestTemplate;
    }

    @Override
    public void apply(RequestTemplate requestTemplate) {
        requestTemplate.header(AUTHORIZATION_HEADER,
                String.format("%s %s",
                        BEARER_TOKEN_TYPE,
                        oAuth2RestTemplate.getAccessToken().toString()));
    }
}

上面的方法通过OAuth2RestTemplate获取token, 也可以直接从请求中获取token

代码语言:javascript
复制
RequestAttributes requestAttributes = RequestContextHolder.currentRequestAttributes();
if (requestAttributes != null) {
  HttpServletRequest request = ((ServletRequestAttributes) requestAttributes).getRequest();
  String token = request.getHeader("Authorization");
  if(StringUtils.isBlank(token)){
  	token = String.format("%s %s",
	    "Bearer",
	    request.getParameter("access_token")));
  }
  ...
}
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-05-28 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 通过RequestInterceptor拦截Feign请求并装填OAuth2 Token
  • 上面的方法通过OAuth2RestTemplate获取token, 也可以直接从请求中获取token
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档