header(self::TOKEN_HEADER); if ($token != null && $token != "") { $data = JwtHelper::decode($token); if ($data != null) { $user_id = $data[JwtHelper::USER_KEY]; self::$_currentUser = LuticateUsersBusiness::getById($user_id); } } if (self::$_currentUser == null && count($permissions) != 0) { return false; } foreach ($permissions as $permission) { $value = LuticatePermissionsBusiness::getUserPermission(self::$_currentUser->getId(), $permission); if (!$value->getVal()) { return false; } } return true; } /** * @param $route LuRoute */ public static function setupAuth($route) { $route->setMiddleware(function($permissions, $request) { return self::authFilter($permissions, $request); }); } /** * @param $route LuRoute */ public static function setupRoutes($route) { $prefix = "/luticate"; $ns = 'Luticate\Auth\Business\\'; $route->post("$prefix/login", "${ns}LuticateUsers", "login"); } }