openfeign转发bearer token

其实client_credentials模式,填塞token基本跟这差不多。只是获取token方法不同。本文只是将已登录用户access token转发出去.

1.环境

spring cloud 2021.0.4

java 17

2.新增一个配置类,定义一个用于拦截openfeign发起请求前的bean函数。

@Configuration
public class SSOOpenFeignConfiguration {

   @Bean
   public RequestInterceptor requestInterceptor(){

       return requestTemplate -> {
           Authentication authentication = SecurityContextHolder.getContext().getAuthentication();
           if (null != authentication) {
               AbstractOAuth2Token token = (AbstractOAuth2Token) authentication.getCredentials();
               requestTemplate.header("Authorization", "Bearer " + token.getTokenValue());
           }
       };
   }
}

3.openfeign端口指定使用该配置文件

@FeignClient(value= "oauth2", configuration = SSOOpenFeignConfiguration.class)
public interface FeishuTokenOpenFeign {
   
   

参考:

OAuth 2.0 Bearer Tokens :: Spring Security

猜你喜欢

转载自blog.csdn.net/miaowansheng/article/details/127825612
今日推荐