Encontrei onde estava o meu problema. Para todos aqueles que encontram o erro muito desagradável 500, verifique seus logs. Ocorreu-me que uma vez que verifiquei os logs, descobri que o método
checkhashSSHA()
nunca estava sendo usado, e isso estava causando o seguinte erro:PHP Fatal error: Call to undefined function checkHashSSA() in /xxx/xxx/xxx/xxx/UserFunctions.php on line 54
Por isso, adicionei o seguinte código para descriptografar a senha:
public function getUserByEmailAndPassword($email, $password) {
$stmt = $this->conn->prepare("SELECT * FROM users WHERE UserEmail = ?");
$stmt->bind_param("s", $email);
if ($stmt->execute()) {
$user = $stmt->get_result()->fetch_assoc();
$salt = $user['salt'];
$userPassword = $user['UserPassword'];
$hash = $this->checkhashSSHA($salt, $password);
if ($userPassword == $hash) {
return $user;
}
$stmt->close();
} else {
return NULL;
}
}
Isso resolveu meu erro.
Apenas para registro, os logs para esses erros geralmente são encontrados no seguinte local:
var/log/apache2/error.log
Você pode precisar fazer alguma alteração no arquivo php.ini para registrar esses erros. Espero que isso ajude alguém com o erro 500;)