Параметр Spring security Oauth2 Redirect URI игнорируется при использовании application.properties
Я настраиваю несколько клиентов аутентификации для приложения с весенней загрузкой и пытаюсь переопределить URI перенаправления по умолчанию, используя:
spring.security.oauth2.client.registration.google.redirectUri={baseUrl}/oauth2/callback/{registrationId}
а затем установите следующее в SecurityConfig:
http.oauth2Login()
.authorizationEndpoint().baseUri("/oauth2/authorize")
.and()
.redirectionEndpoint().baseUri("/oauth2/callback/*")
Однако это не работает — при доступе к {baseUrl}/oauth2/authorize/google клиент перенаправляется на
https://accounts.google.com/o/oauth2/v2/auth/oauthchooseaccount
?response_type=code
&client_id<clientId>
&scope=email%20profile
&redirect_uri=http%3A%2F%2Flocalhost%3A8080%2Flogin%2Foauth2%2Fcode%2Fgoogle
&flowName=GeneralOAuthFlow
с параметром uri перенаправления "{baseUrl}/login/oauth2/code/google", который по умолчанию устанавливается безопасностью Spring, когда redirectUri не установлен. Если я переключусь на использование application.yml со следующей конфигурацией:
spring:
security:
oauth2:
client:
registration:
google:
redirectUri: "{baseUrl}/oauth2/callback/{registrationId}"
это работает нормально. Однако по разным причинам я хочу придерживаться формата application.properties. Любая идея, почему настройка игнорируется?