route()->getAction(); $controller = class_basename($action['controller']); list($controller, $action) = explode('@', $controller); $noLoginActs = ['LoginController','TestController','NotifyController','IndexController','ArticleController','UploadController','TaskController']; $noSignActions = ['UploadController','setAvatar','NotifyController','TestController','TaskController']; $token = $request->headers->get('Authorization'); if (strpos($token, 'Bearer ') !== false) { $token = str_replace("Bearer ", null, $token); $token = trim($token); if($token == 'app123'){ $userId = ConfigService::make()->getConfigByCode('test_uid'); $userId = $userId? $userId : 0; }else{ // JWT解密token $jwt = new Jwt('jwt_rrc_app'); $userId = $jwt->verifyToken($token); } } else { $userId = 0; } // 接口验证 $sign = $request->headers->get('sign'); $params = $request->except('s'); $checkSign = getSign($params); if($sign != 'test6688' && !in_array($action, $noSignActions) && !in_array($controller, $noSignActions)) { // if ($sign != $checkSign) { // return response()->json(message(1005, false, [], 403))->setEncodingOptions(256); // } $time = isset($params['time']) ? $params['time'] : 0; if ($time && $time < time() - 20) { return response()->json(message(1012, false, null, 403))->setEncodingOptions(256); } } if (!$userId && !in_array($controller, $noLoginActs)) { // 判断用户未登录就跳转至登录页面 // 在这里可以定制你想要的返回格式, 亦或者是 JSON 编码格式 return response()->json(message(1004, false, [], 403))->setEncodingOptions(256); } $request->headers->set('token_uid' , $userId); //如果已登录则执行正常的请求 return $next($request); } }