Цикл автонастройки Spring Boot Oauth2 после обновления

Я обновляю свое приложение с Spring Boot 2.5.4 до 2.6.1 и имею проблемы с зависимостями:

** Описание: зависимости некоторых bean-компонентов в контексте приложения образуют цикл:

oidcAuthService, определенный в файле [/pr/pr-security-oidc/target/classes/com/pr/MyOauth2AuthService.class]

┌─────| oauth2SecurityConfiguration↑ ↓| org.springframework.boot.autoconfigure.web.servlet.WebMvcAutoConfiguration$EnableWebMvcConfiguration↑ ↓| org.springframework.security.config.annotation.web.configuration.OAuth2ClientConfiguration$OAuth2ClientWebMvcSecurityConfiguration└─────**

После некоторого расследования при исключении WebMvcAutoConfiguration.class приложение может запускаться, но это приводит к различным проблемам, связанным с конфигурацией безопасности. Есть идеи, что происходит с новой версией Spring, почему WebMvcAutoConfiguration и OAuth2ClientConfiguration конфликтуют друг с другом?

PS Я использую spring-boot-starter-oauth2-client с весенней загрузкой без проблем в более старой версии.

Спасибо!

2 ответа

Вы можете попробовать разместить

      spring.main.allow-circular-references: true

В вашем application.properties. Для получения дополнительной информации перейдите по ссылке: https://github.com/springdoc/springdoc-openapi/issues/1347

Я думаю, что правильный способ удалить:

      ... extends WebSecurityConfigurerAdapter

и замените его на bean:

      @Bean
SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
    return http. ... <do whatever you did in configure method> ... .build();
}