37 lines
694 B
PHP
37 lines
694 B
PHP
<?php
|
|
|
|
function generate_id(): string {
|
|
return hash("sha256", uniqid("", true));
|
|
}
|
|
|
|
function get_token(string $username, string $password_hash): string {
|
|
return $username . "-" . hash("sha256", $password_hash . $username);
|
|
}
|
|
|
|
function validate_token(string $token): bool {
|
|
}
|
|
|
|
function is_logged_in(): false | array {
|
|
$token = $_COOKIE["token"];
|
|
|
|
if (!$token) {
|
|
return false;
|
|
}
|
|
|
|
global $db;
|
|
|
|
$u = explode("-", $token, 2)[0];
|
|
$user_object = pg_select(
|
|
$db, "users", array(
|
|
"username" => $u
|
|
)
|
|
);
|
|
|
|
if ($user_object && get_token($user_object[0]["username"], $user_object[0]["password_hash"]) === $token) {
|
|
return $user_object[0];
|
|
}
|
|
|
|
return false;
|
|
}
|
|
|
|
?>
|