请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

正在回答

2回答

额...我们没用feign,所以没研究过,https://blog.csdn.net/u013360850/article/details/81813262 https://www.cnblogs.com/mxmbk/p/9883629.html 百度了两个帖子供参考。

0 回复 有任何疑惑可以回复我~
  • 提问者 郭玉成 #1
    非常感谢!
    回复 有任何疑惑可以回复我~ 2019-10-21 13:34:34
奔跑中的耗子 2020-04-04 18:22:46

import feign.RequestInterceptor;

import feign.RequestTemplate;

import lombok.extern.slf4j.Slf4j;

import org.springframework.security.core.Authentication;

import org.springframework.security.core.context.SecurityContext;

import org.springframework.security.core.context.SecurityContextHolder;

import org.springframework.security.oauth2.provider.authentication.OAuth2AuthenticationDetails;

import org.springframework.context.annotation.Configuration;


@Configuration

public class FeignOauth2RequestInterceptor implements RequestInterceptor {


    private final String AUTHORIZATION_HEADER = "Authorization";

    private final String BEARER_TOKEN_TYPE = "Bearer";


    @Override

    public void apply(RequestTemplate requestTemplate) {

        SecurityContext securityContext = SecurityContextHolder.getContext();

        Authentication authentication = securityContext.getAuthentication();

        if (authentication != null && authentication.getDetails() instanceof OAuth2AuthenticationDetails) {

            OAuth2AuthenticationDetails details = (OAuth2AuthenticationDetails) authentication.getDetails();

            requestTemplate.header(AUTHORIZATION_HEADER, String.format("%s %s", BEARER_TOKEN_TYPE, details.getTokenValue()));

        }


    }

}


亲测可用


0 回复 有任何疑惑可以回复我~
  • 我为什么获取不到,authentication是null
    回复 有任何疑惑可以回复我~ 2020-10-17 21:05:06
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号