manager = $manager; } /** * Checks if jwt token is valid. * * @param \Illuminate\Http\Request $request * @param \Closure $next * @return mixed */ public function handle($request, Closure $next) { try { $token = explode('.', $this->manager->getToken())[1]; $decodedToken = base64_decode($token); $shippingUser = json_decode($decodedToken, true)['user']; if ($shippingUser['type'] === 3) { $shippingCompanyModuleId = $shippingUser['company_module_id']; $connection = ShippingCompanyConnection::where("shipping_company_module_id", $shippingCompanyModuleId)->first(); if(!$connection){ throw new AccessUnauthorisedException(); } } } catch (Exception $exception) { return (new ApiResponseObject('Authentication', 'To keep your account secure we need to re-validate your account', HttpStatus::ACCESS_UNAUTHORISED))->handler(); } return $next($request); } }