Цикл автонастройки 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();
}