Тайм-аут токена Запомнить меня не работает в laravel 5.4 - PullRequest
2 голосов
/ 21 июня 2019

В Laravel 5.4 я настроил метод входа в систему модуля аутентификации и выполнил вход пользователя, используя метод ниже:

if($request->remember== 1)
    Auth::loginUsingId($user_id,TRUE);
else
    Auth::loginUsingId($user_id);

Здесь я установил второй аргумент ИСТИНА, когда флажок Запомнить меня установлен.

И настройте время cookie в методе sendLoginResponse:

$customRememberMeTimeInMinutes = 5;  
$rememberTokenCookieKey = Auth::getRecallerName(); 
Cookie::queue($rememberTokenCookieKey, Cookie::get($rememberTokenCookieKey), $customRememberMeTimeInMinutes);

После выполнения вышеописанного шага токен «Помни меня» не работает должным образом (через 5 минут я обновил браузер и все еще вошел в систему пользователя).

По умолчаниюКонфигурация сеанса выглядит следующим образом

'lifetime' => 120,

'expire_on_close' => false,

Пожалуйста, подскажите, что я делаю не так?

1 Ответ

0 голосов
/ 21 июня 2019

Запомнить меня только избегает заполнения страницы входа.Это не сохраняет сеанс.Срок действия по умолчанию равен 120 (минутам), если пользователь не отправляет дополнительный запрос в это время, тогда сеанс теряется и в какой-то момент будет собирать мусор.Если вы хотите изменить время ожидания сеанса, вам нужно перейти на config/session.php

/*
|--------------------------------------------------------------------------
| Session Lifetime
|--------------------------------------------------------------------------
|
| Here you may specify the number of minutes that you wish the session
| to be allowed to remain idle before it expires. If you want them
| to immediately expire on the browser closing, set that option.
|
*/

'lifetime' => 120,  // number of minutes you want to increase / decrease

'expire_on_close' => false,
...