Ejemplo n.º 1
0
 public function loginAction()
 {
     if ($_SERVER['REQUEST_METHOD'] !== 'POST') {
         return $this->errorJSONResponse('Метод не доступен с этим HTTP-методом', 403);
     }
     if (!isset($_POST['email'], $_POST['pass'])) {
         return $this->errorJSONResponse('Не хватает одного из параметров', 500);
     }
     $email = $_POST['email'];
     $pass = $_POST['pass'];
     /** @var Users $user */
     $user = Users::getOne(['email' => $email]);
     if (!$user || $user->pass !== md5($user->salt . $pass . $user->salt)) {
         return $this->errorJSONResponse('Такого пользователя не существует', 501);
     }
     return $this->successJSONResponse('Пользователь успешно авторизован', ['UID' => $user->id, 'token' => $user->authenticated == 1 ? $user->token : $user->generateToken()]);
 }