2 Commits
116 ... v0.1.6

Author SHA1 Message Date
57faf21a67 Fixing Login Die 2020-08-17 16:37:41 +01:00
5ff90e0d78 🐛 User not added to DB - force die() on error (#118)
* 🐛 User not added to DB - force die() on error

Signed-off-by: Luke Tainton <luke@tainton.uk>

* Restyled by php-cs-fixer (#119)

Co-authored-by: Restyled.io <commits@restyled.io>

Co-authored-by: restyled-io[bot] <32688539+restyled-io[bot]@users.noreply.github.com>
Co-authored-by: Restyled.io <commits@restyled.io>
2020-08-17 16:17:06 +01:00
2 changed files with 51 additions and 41 deletions

View File

@@ -6,6 +6,22 @@
return $version; return $version;
} }
function user_exists($db, $uuid)
{
try {
$sql = $db->prepare("SELECT uuid FROM users WHERE uuid=:uuid");
$sql->bindParam(':uuid', $uuid);
$sql->execute();
} catch (PDOException $e) {
$alert = array("danger", "Error during check for user record: " . $e->getMessage());
}
if (empty($sql)) {
return false;
} else {
return true;
}
}
function get_all_users($db) function get_all_users($db)
{ {
try { try {

View File

@@ -17,16 +17,7 @@
$alert = array("danger", "Error during OpenID Connect authentication: " . $e->getMessage()); $alert = array("danger", "Error during OpenID Connect authentication: " . $e->getMessage());
} }
// Check if the user already exists if (!user_exists($db, $uuid)) {
try {
$user_exist_sql = $db->prepare("SELECT uuid FROM users WHERE uuid=:uuid");
$user_exist_sql->bindParam(':uuid', $oidc_user['sub']);
$user_exist_sql->execute();
} catch (PDOException $e) {
$alert = array("danger", "Error during check for user record: " . $e->getMessage());
}
if (empty($user_exist_sql)) {
// User doesn't already exist // User doesn't already exist
try { try {
$stmt = "INSERT INTO users (uuid, uid, given_name, family_name, email) VALUES (:sub, :username, :given, :family, :email)"; $stmt = "INSERT INTO users (uuid, uid, given_name, family_name, email) VALUES (:sub, :username, :given, :family, :email)";
@@ -37,7 +28,9 @@
$sql->bindParam(':family', $oidc_user['family_name']); $sql->bindParam(':family', $oidc_user['family_name']);
$sql->bindParam(':email', $oidc_user['email']); $sql->bindParam(':email', $oidc_user['email']);
$sql->execute(); $sql->execute();
} catch (Jumbojett\PDOException $e) { } catch (PDOException $e) {
echo("Error during creation of new user record: " . $e->getMessage());
die();
$alert = array("danger", "Error during creation of new user record: " . $e->getMessage()); $alert = array("danger", "Error during creation of new user record: " . $e->getMessage());
} }
} else { } else {
@@ -51,7 +44,9 @@
$sql->bindParam(':family', $oidc_user['family_name']); $sql->bindParam(':family', $oidc_user['family_name']);
$sql->bindParam(':email', $oidc_user['email']); $sql->bindParam(':email', $oidc_user['email']);
$sql->execute(); $sql->execute();
} catch (Jumbojett\PDOException $e) { } catch (PDOException $e) {
echo("Error during existing user record update: " . $e->getMessage());
die();
$alert = array("danger", "Error during existing user record update: " . $e->getMessage()); $alert = array("danger", "Error during existing user record update: " . $e->getMessage());
} }
} }
@@ -62,4 +57,3 @@
$_SESSION['is_signed_in'] = "true"; $_SESSION['is_signed_in'] = "true";
header('Location: /'); header('Location: /');
?>