如何设置永久性cookie?

时间:2019-10-09 12:13:55

标签: laravel

我有一个基于cookie的手动登录。 它的工作很好,但我有一个问题,因为如果这个应用程序几个小时不使用它会自动注销。有人可以帮我吗?

存储cookie的登录控制器:

if (Crypt::decrypt($parentsAuthenticationInfo->code) == $request->get('code')) {
            $cookie = Cookie::forever('access_token', json_encode($parentsAuthenticationInfo->token));

            return redirect()->action('Institution\\AuthParent\\HomeParentController@index')->withCookie($cookie);
        }

中间件:

public function handle($request, Closure $next)
    {
        $token = json_decode($request->cookie('access_token'));
        if($request->cookie('access_token')) {

            $user_check = $request->session()->get('parent' . md5($token));
            if($user_check == null){
                $parentAuthInfo = $this->parentsAuthenticationInfoRepository->getActiveParentAuthInfoByToken($token);
                if($parentAuthInfo){
                    $request->session()->put('parent_' . md5($token), $parentAuthInfo);
                    $request->session()->save();
                }
                $user_check = $parentAuthInfo;
            }
            $request->merge(['parentAuth' => $user_check]);
            View::share(['parentAuth' => $user_check]);

            if($user_check)
                return $next($request);
        }

        return redirect('/login');
    }

1 个答案:

答案 0 :(得分:0)

使用cookie()方法创建cookie时会发生什么?

类似这样的东西:

// The duration of this cookie is 5 years:
// 60 * 24 * 30 * 12 * 5 = 2592000 minutes

$cookie = cookie('access_token', 'value', 2592000);