Skip to main content

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 oidc per 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 come apps.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);
}