小编sur*_*nto的帖子

没有可用的“org.springframework.security.oauth2.client.registration.ClientRegistrationRepository”类型的合格 bean

当我尝试构建项目时,我收到以下错误消息:

: Unsatisfied dependency expressed through method 'webClient' parameter 0; 
nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: 
No qualifying bean of type 
'org.springframework.security.oauth2.client.registration.ReactiveClientRegistrationRepository' 
available: expected at least 1 bean which qualifies as autowire candidate.
Run Code Online (Sandbox Code Playgroud)

这是我的应用程序属性:

spring.security.oauth2.client.registration.eipo.authorization-grant-type=client_credentials
spring.security.oauth2.client.registration.eipo.token-uri=https://devapi.somedomain.co.xx/v1/auth/token
spring.security.oauth2.client.registration.eipo.client-id=randomClientId
spring.security.oauth2.client.registration.eipo.client-secret=T#%*sty%xp4^sdxb(e*
spring.main.web-application-type= reactive

Run Code Online (Sandbox Code Playgroud)

这是我的配置类:

@Configuration
public class WebClientConfig {
  @Bean
  WebClient webClient(ReactiveClientRegistrationRepository clientRegistrations) {
      ServerOAuth2AuthorizedClientExchangeFilterFunction oauth =
        new ServerOAuth2AuthorizedClientExchangeFilterFunction(
          clientRegistrations,
          new UnAuthenticatedServerOAuth2AuthorizedClientRepository());
      oauth.setDefaultClientRegistrationId("eipo"); 
      return WebClient.builder()
        .filter(oauth)
        .build();
  }
}

Run Code Online (Sandbox Code Playgroud)

这是服务类别:


@Slf4j
@Service
public class SettlementService
  @Autowired
  private WebClient webClient;

  public void getAuthThenGetResource(){
    ... //trying to …
Run Code Online (Sandbox Code Playgroud)

java spring oauth-2.0 spring-webclient

6
推荐指数
1
解决办法
6853
查看次数

标签 统计

java ×1

oauth-2.0 ×1

spring ×1

spring-webclient ×1