(Minimum delta): Add support for the X-WebAuth-User header for authentication

This commit is contained in:
Joshua Coles 2024-06-09 22:04:35 +01:00
parent c835a62462
commit 09d0c71569

View File

@ -21,8 +21,27 @@
$userData['avatar'] = "0";
}
} else {
// Read X-WebAuth-User header as option for login
if (isset($_SERVER['HTTP_X_WEBAUTH_USER'])) {
$username = $_SERVER['HTTP_X_WEBAUTH_USER'];
$query = "SELECT id, username, main_currency, language FROM user WHERE username = :username";
$stmt = $db->prepare($query);
$stmt->bindValue(':id', 1, SQLITE3_INTEGER);
$result = $stmt->execute();
$row = $result->fetchArray(SQLITE3_ASSOC);
if (isset($_COOKIE['wallos_login'])) {
if ($row) {
$_SESSION['username'] = $row['username'];
$_SESSION['loggedin'] = true;
$_SESSION['main_currency'] = $row['main_currency'];
$_SESSION['userId'] = $row['id'];
$_SESSION['language'] = $row['language'];
} else {
$db->close();
header("Location: logout.php");
exit();
}
} else if (isset($_COOKIE['wallos_login'])) {
$cookie = explode('|', $_COOKIE['wallos_login'], 3);
$username = $cookie[0];
$token = $cookie[1];
@ -32,7 +51,7 @@
$stmt = $db->prepare($sql);
$stmt->bindValue(':username', $username, SQLITE3_TEXT);
$result = $stmt->execute();
if ($result) {
$userData = $result->fetchArray(SQLITE3_ASSOC);
if (!isset($userData['id'])) {
@ -79,8 +98,6 @@
header("Location: logout.php");
exit();
}
} else {
$db->close();
header("Location: login.php");