Параметр 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. Любая идея, почему настройка игнорируется?

0 ответов

Другие вопросы по тегам