zoukankan      html  css  js  c++  java
  • oauth2 feign 报401的错误

    oauth2 feign 报401的错误

    报错

    feign.FeignException: status 401 reading UserFeign#queryUser(Long,String,String,String,Integer,Integer,Integer)
    

    解决方法

    import feign.RequestInterceptor;
    import feign.RequestTemplate;
    import org.springframework.context.annotation.Configuration;
    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;
    
    @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()));
            }
    
        }
    }
    
    
  • 相关阅读:
    非常牛的实现三个数交换
    assert后面如果是假则程序崩溃
    python三元操作符
    三种方法划分成绩等级
    爱因斯坦难题
    打印奇数
    判断给到的年份是否为闰年
    【bzoj1895】Pku3580 supermemo Splay
    【bzoj1050】[HAOI2006]旅行comf 并查集
    【bzoj4002】[JLOI2015]有意义的字符串 数论+矩阵乘法
  • 原文地址:https://www.cnblogs.com/szls-666/p/12494158.html
Copyright © 2011-2022 走看看