Spring Bean方法&x27;clientRegistrationRepository';未加载,因为OAuth2客户端配置的条件注册客户端不可用

Spring Bean方法&x27;clientRegistrationRepository';未加载,因为OAuth2客户端配置的条件注册客户端不可用,spring,spring-security,oauth-2.0,okta,Spring,Spring Security,Oauth 2.0,Okta,在使用okta实现Spring安全性时,我面临以下问题。“OAuth2ClientRegistrationRepositoryConfiguration”中的Bean方法“ClientRegistrationRepositoryRepository”未加载,因为OAuth2客户端配置的条件注册客户端不可用 *************************** APPLICATION FAILED TO START *************************** Description

在使用okta实现Spring安全性时,我面临以下问题。“OAuth2ClientRegistrationRepositoryConfiguration”中的Bean方法“ClientRegistrationRepositoryRepository”未加载,因为OAuth2客户端配置的条件注册客户端不可用

***************************
APPLICATION FAILED TO START
***************************

Description:

Parameter 0 of method webClient in com.okta.example.oauth2demo.OAuth2DemoApplication_Okta_2_1$WebClientConfig required a bean of type 'org.springframework.security.oauth2.client.registration.ClientRegistrationRepository' that could not be found.

The following candidates were found but could not be injected:
    - Bean method 'clientRegistrationRepository' in 'OAuth2ClientRegistrationRepositoryConfiguration' not loaded because OAuth2 Clients Configured Condition registered clients is not available


Action:

Consider revisiting the entries above or defining a bean of type 'org.springframework.security.oauth2.client.registration.ClientRegistrationRepository' in your configuration.```

        

下面是我试图运行的代码

@RestController
@SpringBootApplication
public class OAuth2DemoApplication_Okta_2_1 {

    @Value("#{ @environment['okta.oauth2.audience'] }")
    private String resourceServerUrl;

    private WebClient webClient;

    public OAuth2DemoApplication_Okta_2_1(WebClient webClient) {
        this.webClient = webClient;
    }

    public static void main(String[] args) {
        SpringApplication.run(OAuth2DemoApplication_Okta_2_1.class, args);
    }

    @GetMapping("/")
    String home(@AuthenticationPrincipal OidcUser user) {
        return "Hello " + user.getFullName();
    }

    @GetMapping("/api")
    String api() {
        return this.webClient
            .get()
            .uri(this.resourceServerUrl + "/api")
            .retrieve()
            .bodyToMono(String.class)
            .block();
    }

    @Configuration
    public static class WebClientConfig {
        @Bean
        WebClient webClient(
            ClientRegistrationRepository clientRegistrations, OAuth2AuthorizedClientRepository authorizedClients
        ) {
            ServletOAuth2AuthorizedClientExchangeFilterFunction oauth2 =
                new ServletOAuth2AuthorizedClientExchangeFilterFunction(clientRegistrations, authorizedClients);
            oauth2.setDefaultOAuth2AuthorizedClient(true);
            oauth2.setDefaultClientRegistrationId("okta");
            return WebClient.builder()
                .apply(oauth2.oauth2Configuration())
                .build();
        }
    }
}

application.yml

okta:
  oauth2:
    clientId: 
    clientSecret: 
    issuer: 
    audience: