Я пытаюсь аутентифицировать реагирующее приложение с помощью API отдыха, созданного с помощью Spring Boot и настроенного с помощью Spring Security.
В настоящее время я получаю ошибку 302. Даже с правильными учетными данными пользователя.
Является ли "/ login" правильным URL-адресом по умолчанию для информации аутентификации после запроса?
Кроме того, просто Нужно добавить токен csrf в заголовок и имя пользователя / пароль в теле запроса?
Конфигурация безопасности выглядит следующим образом:
@Override
protected void configure(AuthenticationManagerBuilder auth) throws Exception {
auth
.userDetailsService(this.userDetailsService)
.passwordEncoder(User.PASSWORD_ENCODER);
}
@Override
protected void configure(HttpSecurity http) throws Exception {
final CookieCsrfTokenRepository tokenRepository = new CookieCsrfTokenRepository();
http
.authorizeRequests()
.antMatchers("/")
.permitAll()
.antMatchers("/api/**").authenticated()
.and()
.formLogin()
.permitAll()
.and()
.httpBasic()
.and()
.logout()
.logoutSuccessUrl("/")
.and()
.csrf()
.csrfTokenRepository(CookieCsrfTokenRepository.withHttpOnlyFalse());
}
Мой пост выглядит так:
...
const data = {
userName: this.state.userName,
password: this.state.password
};
fetch('http://localhost:8080/login', {
method: 'POST',
headers: {
'X-XSRF-TOKEN': cookies.get("XSRF-TOKEN")},
body: JSON.stringify(data),
}).then(response => {
...
Заранее спасибо