如何让用户一直保持登录呢?

请问我要怎么设置让用户可以一直保持登录,直到用户自己手动退出呢?我的代码如下:

$user = User::where('cellphone', $verifArray['cellphone'])->first();

            if ($user) {
                Auth::login($user);
                // return redirect()->intended($fallback);
                return response()->json(['info' => 'login']);
            } else {
                $user = User::create([
                    'cellphone' => $verifArray['cellphone'],
                ]);
                Auth::login($user);
                return response()->json(['info' => 'creat']);
            }

我目前的代码是,用手机验证码登录,没有密码,验证通过如果匹配到一样的手机号,就登录,没有的话就新建一个用户,我看网上说用Auth::attempt可以实现我想要的功能?我试了一下,不行啊,大家有没有别的办法?

或者说,我是应该直接修改laravel的配置文件,还是php.ini

《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
讨论数量: 5

归根结底就是修改 token/session 有效期

6个月前 评论
wongvio (楼主) 6个月前
6个月前 评论
wongvio (楼主) 6个月前
s51983 (作者) 5个月前

我觉得 你可以 做cookie 本地存储 如果他清了缓存就重新验证 然后 你也可以利用 redis 缓存用户的信息 给这个redis一个 有效时间 半年 如果用户点了退出 那么 删除对应用户的redis和本地cookie 如果你是没有用redis。只是用了session。你需要修改 session的过期时间 你每个用户应该都有一个唯一的session吧。修改对应用户的session过期时间就行了吧 没必要改php.ini 跟 laravel的 配置吧

6个月前 评论

file

我记得文档是这样写的,就记住了用户。

你写的代码有点冗余


        $msg = ['info' => 'login'];
        if (!$user) {
            $user        = User::create([
                'cellphone' => $verifArray['cellphone'],
            ]);
            $msg['info'] = 'create';
        }
        Auth::login($user);
        return response()->json($msg);

你看这样会不会感觉好一点

5个月前 评论
wongvio (楼主) 5个月前

attempt() 在你的需求中不太合适,应为 参数是用户名和密码, 如果密码错了(或根本不知道是否存在 用户名)你都不知道,还是要先判断。不如Auth::login() 这样是在

5个月前 评论

请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!