Spring Boot 3.2.0迁移:WebClient需替代UnAuthenticatedServerOAuth2AuthorizedClientRepository
在Spring Boot 3.x对应的Spring Security 6.x版本中,UnAuthenticatedServerOAuth2AuthorizedClientRepository已被移除,需使用UnAuthenticatedServerOAuth2AuthorizedClientService替代,同时ServerOAuth2AuthorizedClientExchangeFilterFunction的构造方式需改为通过构建器配置。
修改后的代码示例:
@Bean @SuppressWarnings("all") public WebClient webClient(ReactiveClientRegistrationRepository clientRegistrationRepository, UnAuthenticatedServerOAuth2AuthorizedClientService authorizedClientService) { ServerOAuth2AuthorizedClientExchangeFilterFunction oauth = ServerOAuth2AuthorizedClientExchangeFilterFunction.builder(clientRegistrationRepository) .authorizedClientService(authorizedClientService) .build(); oauth.setDefaultClientRegistrationId("myAuthProvider"); // ... 原有其他代码 return WebClient.builder() .filter(oauth) .build(); }
说明:
UnAuthenticatedServerOAuth2AuthorizedClientService的作用与原类一致,用于处理未认证上下文下的OAuth2客户端授权逻辑- 需确保项目依赖中包含Spring Security OAuth2相关模块(Spring Boot 3.x中默认引入的starter已包含)
内容的提问来源于stack exchange,提问作者lnikoli31
相关产品推荐
相关产品推荐

