getRequiredRoleForRoute($request->route()); // Check if a role is required for the route, and // if so, ensure that the user has that role. if($request->user()->hasRole($roles) || !$roles) { return $next($request); } return response([ 'error' => [ 'code' => 'INSUFFICIENT_ROLE', 'description' => 'You are not authorized to access this resource.' ] ], 401); } private function getRequiredRoleForRoute($route) { $actions = $route->getAction(); return isset($actions['roles']) ? $actions['roles'] : null; } }