Я разрабатываю весеннее приложение (клиент), которое защищено поставщиком OAuth2.Это приложение должно выполнить некоторые вызовы REST для другого весеннего приложения (сервера ресурсов).Для выполнения вызовов REST я буду использовать Spring WebClient.
Поэтому я пытаюсь создать компонент типа WebClient, который можно найти в нескольких блогах.
@Configuration
public class AppConfig {
@Bean
public WebClient webClient(ReactiveClientRegistrationRepository clientRegistrations) {
ServerOAuth2AuthorizedClientExchangeFilterFunction oauth =
new ServerOAuth2AuthorizedClientExchangeFilterFunction(clientRegistrations,
new UnAuthenticatedServerOAuth2AuthorizedClientRepository());
oauth.setDefaultClientRegistrationId("myprovider");
return WebClient.builder().filter(oauth).build();
}
}
При запуске приложенияЯ получаю следующую ошибку:
The following candidates were found but could not be injected:
- Bean method 'clientRegistrationRepository' in 'ReactiveOAuth2ClientAutoConfiguration' not loaded because NoneNestedConditions 1 matched 0 did not; NestedCondition on ReactiveOAuth2ClientAutoConfiguration.NonServletApplicationCondition.ServletApplicationCondition found 'session' scope
Action:
Consider revisiting the entries above or defining a bean of type 'org.springframework.security.oauth2.client.registration.ReactiveClientRegistrationRepository' in your configuration.
Поскольку некоторые сайты рекомендуют именно этот код для создания экземпляра WebClient при использовании аутентификации OAuth2, мне интересно, что я делаю неправильно?
у вас есть предложения для меня?
Спасибо.