Configurazione Accessi e SSO
La serie di versioni v2.x ha raggiunto la fine del suo ciclo di vita. Non verrà fornito più supporto per esse. È caldamente consigliato aggiornare alla versione v3.x per continuare ad avere aggiornamenti di sicurezza.
In questa sezione della configurazione sono richieste delle conoscenze basilari sul funzionamento di OpenID Connect.
Di default l'accesso al pannello amministrativo della piattaforma è gestito usando l'autenticazione locale tramite il database della piattaforma. In alcuni casi si vorrebbe accedere tramite un provider esterno. La piattaforma è predisposta per consentire l'accesso tramite un provider esterno che supporta OpenID Connect, modificando una parte della configurazione.
Per l'accesso con OpenID Connect sono stati testati solo Keycloak e Authentik. Siate liberi di modificare le pagine della documentazione se avete provato altri provider.
if (!defined('AUTH_TYPE')) {
define('AUTH_TYPE','local');
}
if (!defined('APP_DOMAIN')) {
define('APP_DOMAIN','');
}
if (!defined('OIDC_ISSUER')) {
define('OIDC_ISSUER','');
}
if (!defined('OIDC_CLIENT_ID')) {
define('OIDC_CLIENT_ID','');
}
if (!defined('OIDC_CLIENT_SECRET')) {
define('OIDC_CLIENT_SECRET','');
}
if (!defined('OIDC_ALLOWED_USERS')) {
define('OIDC_ALLOWED_USERS',[]);
}
if (!defined('OIDC_NO_LOGOUT')) {
define('OIDC_NO_LOGOUT',false);
}
- AUTH_TYPE: Indica se utilizzare l'autenticazione locale (Database) oppure l'autenticazione tramite provider esterno OpenID Connect. Impostare su
oidcper usare un provider esterno OpenID. Impostazione predefinita:local - APP_DOMAIN: Indica alla piattaforma il dominio su cui viene eseguita, richiesto per autenticare correttamente con OpenID Connect. Ad esempio
orario.tuodominio.com, ma supporta anche sottocartelle comeapps.tuodominio.com/orario. Vuoto come impostazione predefinita. - OIDC_ISSUER: URL issuer fornito dal tuo provider OpenID Connect. Su Keycloak per esempio è
https://keycloak.tuodominio.com/realms/tuorealm. Vuoto come impostazione predefinita. - OIDC_CLIENT_ID: ID Client fortnito dal tuo provider OpenID Connect. Vuoto come impostazione predefinita.
- OIDC_CLIENT_SECRET: Segreto client fornito dal tuo provider OpenID Connect. Vuoto come impostazione predefinita.
- OIDC_ALLOWED_USERS: Array di nomi utente dal provider OpenID Connect che possono accedere al pannello amministrativo. Un esempio di questo valore può essere:
['admin', 'segreteria', 'preside']. Vuoto come impostazione predefinita. - OIDC_NO_LOGOUT: Se abilitato, al logout dalla piattaforma essa non effettuerà il logout dal provider OpenID Connect. Abilitala se il tuo provider non supporta questa funzionalità e/o non si vuole disconnettere gli utenti dal provider OpenID. Impostazione predefinita:
false
Esempio Keycloak
if (!defined('AUTH_TYPE')) {
define('AUTH_TYPE','oidc');
}
if (!defined('APP_DOMAIN')) {
define('APP_DOMAIN','orario.example.com');
}
if (!defined('OIDC_ISSUER')) {
define('OIDC_ISSUER','https://sso.example.com/realms/master');
}
if (!defined('OIDC_CLIENT_ID')) {
define('OIDC_CLIENT_ID','orario');
}
if (!defined('OIDC_CLIENT_SECRET')) {
define('OIDC_CLIENT_SECRET','AbC123DeFg456');
}
if (!defined('OIDC_ALLOWED_USERS')) {
define('OIDC_ALLOWED_USERS',[]);
}
if (!defined('OIDC_NO_LOGOUT')) {
define('OIDC_NO_LOGOUT',false);
}