I don't care about Google SSO

This commit is contained in:
2025-10-30 08:26:16 +01:00
parent 70c7c0d6b9
commit 721cfc386d
4 changed files with 2 additions and 125 deletions

View File

@@ -44,19 +44,4 @@ if (AUTH_TYPE === 'keycloak') {
define('KEYCLOAK_CLIENT_SECRET',''); // Client Secret per Keycloak (ad esempio abcdefghijklm)
}
}
// Impostazioni autenticazione con Google (richieste solo se AUTH_TYPE sta impostato su google)
if (AUTH_TYPE === 'google') {
if (!defined('GOOGLE_CLIENT_ID')) {
define('GOOGLE_CLIENT_ID',''); // Client ID fornito da Google
}
if (!defined('GOOGLE_CLIENT_SECRET')) {
define('GOOGLE_CLIENT_SECRET',''); // Client Secret fornito da Google
}
if (!defined('GOOGLE_ONLY_ALLOWED_DOMAINS')) {
define('GOOGLE_ONLY_ALLOWED_DOMAINS', false); // Attivare (impostare su true) per impostare restrizioni sui domini e-mail consentiti
}
if (!defined('GOOGLE_ALLOWED_DOMAINS')) {
define('GOOGLE_ALLOWED_DOMAINS', ['']); // Domini E-Mail consentiti. Serve abilitare l'opzione GOOGLE_ONLY_ALLOWED_DOMAINS
}
}
?>

View File

@@ -113,97 +113,4 @@ HTML;
exit;
}
}
else if (AUTH_TYPE === 'google') {
try {
$oidc = new OpenIDConnectClient(
'https://accounts.google.com',
GOOGLE_CLIENT_ID,
GOOGLE_CLIENT_SECRET
);
$oidc->setRedirectURL(GOOGLE_REDIRECT_URI);
$oidc->addScope(['openid', 'email', 'profile']);
// Callback da Google
if (isset($_GET['code'])) {
$oidc->authenticate();
$email = $oidc->requestUserInfo('email');
$domain = substr(strrchr($email, "@"), 1);
if (!GOOGLE_ONLY_ALLOWED_DOMAINS || in_array($domain, GOOGLE_ALLOWED_DOMAINS)) {
$_SESSION['admin'] = $email;
$_SESSION['auth_type'] = 'google';
header("Location: index.php");
exit;
} else {
http_response_code(403);
echo <<<HTML
<!DOCTYPE html>
<html>
<head>
<title>Login Admin</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="style.css">
</head>
<body>
<div class="navbar">
<div class="logo">Admin Dashboard</div>
<div class="links">
<a href="/">Torna al sito</a>
</div>
</div>
<!-- Container login -->
<div class="login-container">
<h1>Login Admin</h1>
HTML;
echo "<br><div class='error'>Non sei autorizzato ad accedere a questa pagina</div>";
echo <<<HTML
</div>
<p style="text-align: center;">Copyright (C) 2025 EmmeV. - Released under <a href="https://git.vichingo455.freeddns.org/emmev-code/orario/src/branch/stable/LICENSE.txt" target="_blank">GNU AGPL 3.0 License</a>.</p>
</body>
</html>
HTML;
exit;
}
}
} catch (Exception $e) {
http_response_code(500);
echo <<<HTML
<!DOCTYPE html>
<html>
<head>
<title>Login Admin</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="style.css">
</head>
<body>
<div class="navbar">
<div class="logo">Admin Dashboard</div>
<div class="links">
<a href="/">Torna al sito</a>
</div>
</div>
<!-- Container login -->
<div class="login-container">
<h1>Login Admin</h1>
HTML;
if (DEV_MODE) {
echo "<br><div class='error'>Errore durante l'autenticazione con Google. Assicurati di avere impostato i vari parametri correttamente. Ulteriori dettagli: " . $e . "</div>";
} else {
echo "<br><div class='error'>Errore durante l'autenticazione con Google. Contatta l'amministratore del sito.</div>";
}
echo <<<HTML
</div>
<p style="text-align: center;">Copyright (C) 2025 EmmeV. - Released under <a href="https://git.vichingo455.freeddns.org/emmev-code/orario/src/branch/stable/LICENSE.txt" target="_blank">GNU AGPL 3.0 License</a>.</p>
</body>
</html>
HTML;
exit;
}
}
?>

View File

@@ -2,7 +2,7 @@
include("../config/config.php");
session_start();
session_destroy();
if (AUTH_TYPE === 'local' || AUTH_TYPE === 'google')
if (AUTH_TYPE === 'local')
header("Location: /index.php");
else if (AUTH_TYPE === 'keycloak')
header('Location: https://' + KEYCLOAK_DOMAIN + '/realms/' + KEYCLOAK_REALM + '/protocol/openid-connect/logout?post_logout_redirect_uri=https://' + APP_DOMAIN + '&client_id=' + KEYCLOAK_CLIENT_ID);

View File

@@ -24,7 +24,7 @@ if (!defined('DEV_MODE')) {
}
// Impostazioni autenticazione dashboard amministrativa
if (!defined('AUTH_TYPE')) {
define('AUTH_TYPE','local'); // Può essere local (integrata), keycloak, google
define('AUTH_TYPE','local'); // Può essere local (integrata), keycloak
}
if (!defined('APP_DOMAIN')) {
define('APP_DOMAIN',''); // Dominio del sito (ad esempio orario.yourdomain.com), richiesto per autenticazioni non local
@@ -44,19 +44,4 @@ if (AUTH_TYPE === 'keycloak') {
define('KEYCLOAK_CLIENT_SECRET',''); // Client Secret per Keycloak (ad esempio abcdefghijklm)
}
}
// Impostazioni autenticazione con Google (richieste solo se AUTH_TYPE sta impostato su google)
if (AUTH_TYPE === 'google') {
if (!defined('GOOGLE_CLIENT_ID')) {
define('GOOGLE_CLIENT_ID',''); // Client ID fornito da Google
}
if (!defined('GOOGLE_CLIENT_SECRET')) {
define('GOOGLE_CLIENT_SECRET',''); // Client Secret fornito da Google
}
if (!defined('GOOGLE_ONLY_ALLOWED_DOMAINS')) {
define('GOOGLE_ONLY_ALLOWED_DOMAINS', false); // Attivare (impostare su true) per impostare restrizioni sui domini e-mail consentiti
}
if (!defined('GOOGLE_ALLOWED_DOMAINS')) {
define('GOOGLE_ALLOWED_DOMAINS', ['']); // Domini E-Mail consentiti. Serve abilitare l'opzione GOOGLE_ONLY_ALLOWED_DOMAINS
}
}
?>