记住我令牌超时在Laravel 5.4中不起作用

时间:2019-06-21 09:33:06

标签: php laravel remember-me

在Laravel 5.4中,我自定义了身份验证模块的登录方法,并使用以下方法完成了用户登录:

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

在选中“记住我”复选框后,我将第二个参数设置为TRUE。

并在sendLoginResponse方法中自定义cookie时间:

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

完成上述步骤后,我记得我的令牌无法按预期工作(5分钟后,我刷新了浏览器,并且仍在用户登录状态。)

默认会话配置是这样

'lifetime' => 120,

'expire_on_close' => false,

请提出我做错了什么?

1 个答案:

答案 0 :(得分:0)

记住我,只是避免填写登录页面。它不保留会话。如果用户此时未提交其他请求,则默认生存期为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,