Я хочу реализовать функцию remember me
с логином, который использует конечную точку POST.Для входа в систему пользователя я реализовал пользовательский LoginFormFilter
и сопоставил его с /login
URL.Реализация фильтра выглядит следующим образом:
@Override
public Authentication attemptAuthentication(HttpServletRequest request, HttpServletResponse response) {
try {
String requestBody = IOUtils.toString(request.getReader());
LoginRequest authRequest = mapper.readValue(requestBody, LoginRequest.class);
UsernamePasswordAuthenticationToken token =
new UsernamePasswordAuthenticationToken(authRequest.getUsername(), authRequest.getPassword());
return this.getAuthenticationManager().authenticate(token);
....
Аутентификация работает нормально, и пользователь может успешно войти в систему.
В моем методе configure
в @Configuration
классе я добавил rememberMe
в конфигурацию.
http
...
.rememberMe().key("remember-me").tokeValiditySeconds(100) // for test
Но когда я делаю POST для URL / логина с этим телом
{
"username": "User",
"password": "1111",
"remember-me": true
}
Кажется, он не добавляет cookie remember-me
, как ожидалось.Что не так?