Configurazione Accessi e SSO
warning
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.
warning
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);
}