Я пытаюсь настроить приложение загрузки Spring для использования имени входа в систему и для проверки учетных данных с использованием сервера авторизации OAuth 2 (отправка учетных данных из регистра формы на URL авторизации пользователя .Spring Security OAuth 2 с формой login
Однако, когда я использую следующие SecurityConfig
, и я перехожу на ресурс, вместо того, чтобы использовать вход в форму, он перенаправляет на сервер авторизации, запрашивая мои учетные данные (используя базовую проверку подлинности), а затем перенаправляет обратно само приложение
Я использую следующие SecurityConfig
:
@Configuration
@EnableOAuth2Sso
public class SecurityConfig extends OAuth2SsoConfigurerAdapter {
@Override
public void configure(HttpSecurity http) throws Exception {
http
.logout()
.and()
.antMatcher("/**")
.authorizeRequests()
.anyRequest().authenticated()
.and()
.csrf()
.csrfTokenRepository(csrfTokenRepository()).and()
.addFilterAfter(csrfHeaderFilter(), CsrfFilter.class)
.formLogin();
}
// CSRF repository + filter
}
Я предоставляю formLogin()
методу configure()
, но это не работает.
Следующая конфигурация в моем application.yml
файле:
spring:
oauth2:
client:
clientId: test
clientSecret: secret
accessTokenUri: http://localhost:8081/uaa/oauth/token
userAuthorizationUri: http://localhost:8081/uaa/oauth/authorize
clientAuthenticationScheme: header
resource:
userInfoUri: http://localhost:8081/uaa/user
Эта конфигурация делает работу, потому что после редиректа я получаю авторизован, но это не так, как я хотел бы, чтобы работать (с формой войдите вместо переадресации на сервер авторизации OAuth2).