OIDC / SSO — accesso tramite provider di identità
PremiumOpenID Connect (OIDC), costruito su OAuth2, consente ai suoi utenti di accedere a Omniscol con l'account aziendale anziché con una password Omniscol dedicata. Tre vantaggi: una sola password da ricordare, disattivazione centralizzata all'arrivo o alla partenza di un collaboratore, applicazione automatica dei criteri di sicurezza (MFA, lunghezza della password, scadenza…) gestiti lato sistema informativo.
Questa pagina descrive l'SSO utente: l'accesso delle persone a Omniscol tramite il suo provider di identità. Il caso inverso — Omniscol come server OAuth2 / OIDC a cui si connettono servizi di terze parti, con la relativa schermata di gestione dei client — è trattato su OAuth2 / OIDC (provider).
Provider supportati
Omniscol supporta:
- Google Workspace,
- Microsoft Entra ID (in precedenza Azure AD),
- Keycloak,
- un provider OIDC generico tramite il suo issuer / discovery URL (qualsiasi provider conforme a OIDC).
Configurazione lato Omniscol
In Amministrazione → Parametri, sezione Sicurezza, il pulsante Configura apre la schermata di configurazione OIDC, che consente di dichiarare il provider:
- Nome visualizzato — l'etichetta che comparirà sul pulsante di
accesso (ad esempio
Continua con Google). - Tipo di provider — Google, Microsoft Entra ID (Azure AD), Keycloak o OIDC generico.
- Tenant / issuer — il tenant Microsoft per Entra ID, oppure l'URL issuer per Keycloak e i provider OIDC generici. I metadati OIDC vengono poi individuati dall'applicazione.
- Client ID e Client secret — ottenuti creando un'applicazione lato provider (si veda la documentazione del provider).
- Scope — per impostazione predefinita
openid profile email. Aggiungere gli scope specifici del provider se necessario. - Domini autorizzati — elenco facoltativo di domini di posta elettronica accettati all'accesso SSO; se lasciato vuoto, non viene applicato alcun filtro per dominio.
- URL di reindirizzamento — Omniscol fornisce il valore esatto da copiare nella configurazione lato provider (nonché l'URL di reindirizzamento post-disconnessione se il provider lo richiede).
- Accesso solo tramite SSO — una volta convalidato l'SSO, questa opzione rifiuta l'accesso con password Omniscol, salvo per gli account di emergenza descritti di seguito.
La configurazione SSO corrente è definita a livello dell'account scuola.
Accesso di emergenza (break-glass)
In modalità Accesso solo tramite SSO, l'accesso con password Omniscol viene rifiutato: tutti passano attraverso il provider di identità. Se questo provider diventa non disponibile — guasto, secret scaduto, errore di configurazione — l'accesso a Omniscol risulterebbe bloccato per tutti.
L'account di emergenza (« break-glass ») è la protezione contro questo blocco: un account amministratore autorizzato ad accedere con password Omniscol anche quando la modalità SSO esclusiva è attiva.
- Nella scheda di un account amministratore, quando l'opzione Accesso solo tramite SSO è attiva, compare una casella Break-glass (SSO only). Selezionarla autorizza questo account ad accedere con password se il provider di identità è non disponibile. Solo gli account amministratore possono esserlo.
- L'assistenza Omniscol conserva inoltre un accesso di emergenza indipendente.
Designi almeno un account di emergenza prima di attivare la modalità SSO esclusiva, e ne conservi la password in un luogo sicuro: è la sua rete di sicurezza se il provider di identità viene meno.
Configurazione lato provider (esempi)
Google Workspace
- Console Google Cloud > APIs & Services > Credentials.
- Crea una credenziale OAuth 2.0, tipo Applicazione Web.
- Incollare l'URL di reindirizzamento fornito da Omniscol in Authorized redirect URIs.
- Recuperare il Client ID e il Client secret per incollarli in Omniscol.
Microsoft Entra ID
- Portale Azure > Entra ID > App registrations.
- New registration, tipo Web, URL di reindirizzamento Omniscol.
- Certificates & secrets > creare un client secret.
- API permissions > aggiungere
openid,profile,email. - Recuperare Application (client) ID e il secret.
Keycloak
- Realm > Clients > Create client, tipo OpenID Connect.
- Valid redirect URIs: l'URL fornito da Omniscol.
- Credentials > recuperare il client secret.
Collegare gli account Omniscol
Quando un utente fa clic sul pulsante SSO, Omniscol:
- Lo reindirizza al provider,
- Recupera il suo indirizzo e-mail dopo l'autenticazione,
- Cerca un account Omniscol con lo stesso indirizzo e-mail.
Se l'account esiste ed è attivo, l'utente viene connesso. In caso contrario, l'accesso è rifiutato. Conseguenza: affinché l'SSO funzioni, gli utenti devono esistere in Omniscol con l'indirizzo e-mail corretto — la creazione non è automatica lato Omniscol per impostazione predefinita.
Provisioning automatico degli account
La creazione automatica di account al primo accesso SSO
(just-in-time provisioning) non è il comportamento predefinito
della schermata di configurazione. Se questa modalità è necessaria, va concordata
con Omniscol.
How-to
Configurare un provider OIDC / SSO
-
OIDC / SSO consente ai suoi utenti di accedere con l'account aziendale (Google Workspace, Microsoft Entra ID, Keycloak, Okta…). La parte lato provider dipende dal provider.
-
Lato provider, creare prima un'applicazione OIDC Applicazione Web: recuperare il Client ID e il Client secret, copiare l'URL di reindirizzamento fornito da Omniscol negli Authorized redirect URIs del provider.
-
Lato Omniscol, aprire i parametri e poi la configurazione OIDC. Compilare il nome visualizzato (etichetta del pulsante di accesso), il tipo di provider, l'issuer o il tenant secondo il caso, il Client ID, il Client secret e gli scope (predefinito:
openid profile email). -
Fare clic su Testare. Verificare che la configurazione funzioni. Omniscol esegue un ciclo OIDC; in caso di errore di discovery, di secret o di reindirizzamento, il messaggio di errore è esplicito.
-
Salvare. Il pulsante di accesso SSO compare sulla pagina di accesso quando la configurazione è attiva.
-
Importante: gli account devono esistere in Omniscol con l'indirizzo e-mail corretto. L'accesso SSO abbina tramite e-mail; nessun provisioning automatico per impostazione predefinita.