Здравствуйте!
Написал свой аутентификатор (...extends AbstractGuardAuthenticator) для ajax запроса который отправляется с формы логина с данными в json:
{
"username": "...",
"password": "...",
"_csrf_token": "...",
"_remember_me": true
}
Метод
supportsRememberMe возвращает true.
В методе
getCredentials декодирую json, заполняю и возвращаю
$credentials:
public function getCredentials(Request $request): array
{
$jsonRequest = json_decode($request->getContent(), true);
$credentials = [
'username' => $jsonRequest['username'],
'password' => $jsonRequest['password'],
'csrf_token' => $jsonRequest['_csrf_token'],
];
//$request->request->set('_remember_me', $jsonRequest['_remember_me']);
$request->getSession()->set(
Security::LAST_USERNAME,
$credentials['username']
);
return $credentials;
}
Пользователь авторизуется, но remember me не срабатывает, а если в
getCredentials у
$request установить _remember_me: true, то все работает:
$request->request->set('_remember_me', $jsonRequest['_remember_me']);
Но думаю
getCredentials не совсем подходящее место для этого.
Как и где по правильному можно переопределить параметр _remember_me при аутентификации в этом случае?