getGuard(); if (! $auth->parser()->setRequest($request)->hasToken()) { throw new AuthException('未提供Token', AuthException::TOKEN_NOT_PROVIDED); } try { if (! $account = app('auth:company')->authenticate()) { throw new AuthException('账号未登录', AuthException::NOT_LOGIN); } } catch (JWTException $e) { throw new UnauthorizedHttpException('jwt-auth', $e->getMessage(), $e, $e->getCode()); } $checks = app()->tagged('auth:company:check'); foreach ($checks as $check) { call_user_func_array([$check, 'handle'], ['account' => $account, 'request' => $request]); } $response = $next($request); $token = app('auth:company')->getToken(); $response->headers->set('Authorization', 'Bearer '.$token); return $response; } }