@Sour_Lemon

Как избавиться от редиректа на localhost:8080/login?

При попытке выполнить POST запрос (использую httpie, через curl та же проблема) :
http -a adm:pass POST :8080/user username=ivan password=pass email=test

Получаю статус 302:
HTTP/1.1 302 
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Connection: keep-alive
Content-Length: 0
Date: Sat, 24 Feb 2024 11:47:28 GMT
Expires: 0
Keep-Alive: timeout=60
Location: http://localhost:8080/login;jsessionid=53DF74DFA68F0968E5220A14472267CB
Pragma: no-cache
Set-Cookie: JSESSIONID=53DF74DFA68F0968E5220A14472267CB; Path=/; HttpOnly
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
X-Content-Type-Options: nosniff
X-Frame-Options: DENY
X-XSS-Protection: 0

Происходит это только для POST запросов. Для GET авторизация проходит успешно и метод отрабатывает как надо.
POST метод:
@PostMapping
public ResponseEntity<?> registerUser(@Valid @RequestBody UserRegistrationDTO userDTO, Errors errors) {
	if (errors.hasErrors()) {
		return ResponseEntity.badRequest().body(errors);
	}
	User user = userService.register(userDTO.asUser(passwordEncoder, "ROLE_USER"));
	URI location = ServletUriComponentsBuilder
		.fromCurrentRequest()
		.path("/{id}")
		.buildAndExpand(user.getId())
		.toUri();
	return ResponseEntity.created(location).build();
}

Может кто уже сталкивался с подобной проблемой? Как убрать редирект на /login ?
  • Вопрос задан
  • 205 просмотров
Решения вопроса 1
@Sour_Lemon Автор вопроса
httpBasic в filter chain помог:
@Bean
public SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
	return http
                         //...
			.httpBasic(Customizer.withDefaults())
                        .build();
}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы