checkForToken($request); try { if ($result = $this->auth->parseToken()->authenticate()) { //wsl add start $uid=Auth::id(); $users=User::whereId($uid)->select('status','province','city','district','is_frontend','ssid','updated_at')->first(); if(!empty($users->ssid)&&$request->header('sessid')!=$users->ssid){ return showJson(555,'您的账户已在其他地方登录,您被迫下线'); } if(!empty($users)&&$users->is_frontend==1){ if($users->status==2){ return showJson(444,'您的账户已被冻结,如有疑问请联系管理员'); } $proxy=Proxy::where('province','=',$users->province) ->where('city','=',$users->city) ->where('district','=',$users->district)->select('status')->first(); if(!empty($proxy)&&$proxy->status==0){ return showJson(444,'您所处的区域已被冻结,如有疑问请联系管理员'); } } //wsl add end return $next($request); } return showJson(102, '请登录'); //throw new UnauthorizedHttpException('jwt-auth', '未登录'); } catch (TokenExpiredException $exception) { $token = $this->auth->refresh(); try { Auth::guard('api')->onceUsingId($this->auth->manager()->getPayloadFactory()->buildClaimsCollection()->toPlainArray()['sub']); } catch (JWTException $exception) { return showJson(102, $exception->getMessage()); //throw new UnauthorizedHttpException('jwt-auth', $exception->getMessage()); } } return showJson(103, '您的登录信息已过期,请重新登录!', ['token' => $token]); } catch (\Exception $exception) { return showJson(102, $exception->getMessage()); } } }