header('token'); // 2. 如果请求头没有 token,直接返回未授权 if (empty($token)) { return response()->json([ 'code' => 401, 'msg' => lang('请携带token访问') ], 401); } // 3. 查询 user_session:token 存在 + 未过期 $session = UserSession::where('token', $token) ->where('expire_time', '>', now()) // 过期时间 > 当前时间 = 未过期 ->first(); // 4. 会话不存在或已过期 if (!$session) { return response()->json([ 'code' => 401, 'msg' => lang('token无效或已过期') ], 401); } // 5. 查询对应用户信息 $user = User::find($session->user_id); // 6. 用户不存在 if (!$user) { return response()->json([ 'code' => 401, 'msg' => lang('用户不存在') ], 401); } // 7. 把用户信息赋值给 $request->user $request->user = $user; // 8. 放行请求,进入控制器 return $next($request); } }