fix login

This commit is contained in:
2018-03-03 15:06:51 +01:00
parent b4ca609c44
commit e92c197e59
2 changed files with 10 additions and 8 deletions

View File

@@ -53,8 +53,8 @@ class mxDatabase
$this->db->exec("CREATE TABLE logins (
id INTEGER PRIMARY KEY AUTOINCREMENT,
active INT DEFAULT 1,
firstname TEXT,
lastname TEXT,
first_name TEXT,
last_name TEXT,
localpart TEXT,
password_hash TEXT,
email TEXT,
@@ -225,12 +225,12 @@ class mxDatabase
$sql = "SELECT COUNT(*) FROM logins WHERE localpart = '" . $localpart
. "' AND active = 1 LIMIT 1;";
$res = $this->db->query($sql);
$first_name = NULL; $last_name = NULL; $username = NULL; $note = NULL; $email = NULL;
if ($res->fetchColumn() > 0) {
$sql = "SELECT first_name, last_name, email, password_hash FROM logins "
. " WHERE verify_token = '" . $token . "' LIMIT 1;";
. " WHERE localpart = '" . $localpart . "' LIMIT 1;";
foreach ($this->db->query($sql) as $row) {
error_log($password . "-" . $row["password_hash"]);
// will only be executed once
if (password_verify($password, $row["password_hash"])) {
return $row;
@@ -258,7 +258,7 @@ class mxDatabase
$password = bin2hex(openssl_random_pseudo_bytes(5));
$password_hash = password_hash($password, PASSWORD_BCRYPT, ["cost"=>12]);
$sql = "INSERT INTO logins (firstname, lastname, localpart, password_hash, email) VALUES "
$sql = "INSERT INTO logins (first_name, last_name, localpart, password_hash, email) VALUES "
. '("' . $first_name.'","' . $last_name . '","' . $username . '","'
. $password_hash . '","' . $email . '")';

View File

@@ -5,8 +5,8 @@ $response = [
]
];
require_once("config.php");
require_once("database.php");
require_once("../config.php");
require_once("../database.php");
abstract class LoginRequester {
const UNDEFINED = 0;
const MXISD = 1;
@@ -23,6 +23,8 @@ try {
}
}
',true);
$inputJSON = file_get_contents('php://input');
$input = json_decode($inputJSON, TRUE);
$mxid = NULL;
$localpart = NULL;
if (isset($input["user"])) {
@@ -72,7 +74,7 @@ try {
}
$response["auth"]["success"] = true;
$response["auth"]["profile"] = [
"display_name" => $user["first_name"] . " " . $user["first_name"],
"display_name" => $user["first_name"] . " " . $user["last_name"],
"three_pids" => [
[
"medium" => "email",