Configurazione SSO
Configurazione SSO
Questa guida è per l'amministratore IT che collega un provider di identità aziendale (IdP) a InterMIND. Dopo la configurazione, i membri accedono dalla normale pagina di login: Accedi con SSO → email di lavoro → IdP → ritorno in InterMIND. Per la panoramica non tecnica, vedi la pagina della funzionalità Single Sign-On.
Disponibile su: piani Business ed Enterprise Configurato da: proprietario del team o amministratore Protocollo: solo OpenID Connect (OIDC). SAML 2.0 non è offerto — Okta, Microsoft Entra ID e Google Workspace supportano tutti OIDC.

Prerequisiti
- Un dominio verificato — verifica prima il tuo dominio email tramite record DNS TXT (vedi Gestione Domini). L'accesso SSO accetta solo account il cui dominio email è stato verificato dal tuo team; questo è il confine del tenant.
- Un IdP che supporta OIDC con discovery — deve servire
/.well-known/openid-configurationsotto l'URL dell'Issuer. Okta, Microsoft Entra ID e Google lo fanno tutti.
Cosa registrare nel tuo IdP
Crea una OIDC Web Application nel tuo IdP con:
| Impostazione | Valore |
|---|---|
| Redirect URI (callback) | https://intermind.com/api/auth/sso/callback — mostrato anche nella scheda SSO dopo aver selezionato OIDC |
| Grant type | Authorization Code (PKCE S256 è usato automaticamente) |
| Scopes | openid email profile |
L'ID token emesso dal tuo IdP deve includere l'email dell'utente e il dominio dell'email deve essere uno dei tuoi domini verificati — altrimenti l'accesso viene rifiutato.
Poi compila la scheda SSO nella pagina Integrazioni:
| Campo | Cosa incollare |
|---|---|
| Display Name | Un'etichetta riconoscibile dai tuoi membri |
| Issuer URL | L'issuer del tuo IdP — l'URL che serve /.well-known/openid-configuration |
| Authorization URL | Il authorization_endpoint da quel documento di discovery |
| Client ID / Client Secret | Dall'app che hai registrato |
Il client secret è crittografato a riposo e non viene mai restituito al browser dopo il salvataggio.
Okta
- Console di amministrazione → Applications → Create App Integration → metodo di accesso OIDC, tipo di applicazione Web Application
- Sign-in redirect URI:
https://intermind.com/api/auth/sso/callback - Assegna gli utenti o i gruppi che devono avere accesso
- Copia il Client ID e il Client Secret
- In InterMIND: Issuer URL = l'URL della tua organizzazione Okta (es.
https://acme.okta.com, o l'issuer del tuo authorization server comehttps://acme.okta.com/oauth2/defaultse ne usi uno); Authorization URL = ilauthorization_endpointda<issuer>/.well-known/openid-configuration
Microsoft Entra ID (Azure AD)
- Centro di amministrazione Entra → App registrations → New registration
- Piattaforma Web, redirect URI
https://intermind.com/api/auth/sso/callback - Certificates & secrets → New client secret — copia immediatamente il Value del secret
- Client ID = l'Application (client) ID nella pagina Overview
- Assicurati che l'ID token includa l'email dell'utente: Token configuration → Add optional claim → ID → email
- In InterMIND: Issuer URL =
https://login.microsoftonline.com/<tenant-id>/v2.0; Authorization URL =https://login.microsoftonline.com/<tenant-id>/oauth2/v2.0/authorize
Google Workspace
Nessuna registrazione dell'app necessaria. Nella scheda SSO scegli il tipo di provider Google Workspace e salva — i membri sui tuoi domini verificati accedono con il loro account Google e si uniscono automaticamente al tuo team. (Google può anche essere collegato come provider OIDC generico con issuer https://accounts.google.com se preferisci credenziali client esplicite.)
Testa la connessione
- Apri la pagina di login in una finestra privata/incognito
- Clicca Accedi con SSO e inserisci un'email di lavoro sul tuo dominio verificato
- Vieni reindirizzato al tuo IdP; dopo l'autenticazione, atterri di nuovo in InterMIND autenticato
- L'accesso viene registrato nel log di audit del team (esportabile dalla pagina Utenti) come
auth.logincon metodosso
Risoluzione dei problemi
| Sintomo | Causa |
|---|---|
| "SSO is not configured" dopo l'inserimento dell'email | Nessuna configurazione SSO abilitata corrisponde a quel dominio email — verifica che il dominio sia verificato e che la scheda SSO sia salvata |
SSO login is not available: plan | Il piano del team non include più SSO |
SSO login is not available: domain-not-verified | Il dominio è ancora in attesa di verifica DNS |
SSO login is not available: config-incomplete | Client ID o Client Secret mancanti — salva di nuovo la scheda SSO |
SSO login is not available: type-unsupported | Il tipo di provider memorizzato non è uno implementato dal flusso di accesso — elimina la configurazione SSO e creala di nuovo come OIDC o Google Workspace |
SSO IdP discovery failed | L'Issuer URL è sbagliato o non serve /.well-known/openid-configuration |
| "login session expired, start again" | Sono passati più di 5 minuti tra l'inizio dell'accesso e il callback dell'IdP |
| Accesso rifiutato dopo il reindirizzamento dell'IdP | L'IdP ha restituito un'email al di fuori dei tuoi domini verificati, o nessun claim email (Entra: aggiungi il claim email opzionale) |
Proprietà di sicurezza
Per i questionari di sicurezza: il flusso SSO è Authorization Code con PKCE (S256), state, e nonce; la firma dell'ID token è validata contro il JWKS dell'IdP, insieme a issuer e audience; l'IdP è autorevole solo per i domini verificati via DNS — un'asserzione per qualsiasi altra email non produce mai una sessione; il client secret OIDC è crittografato a riposo; ogni accesso SSO atterra nel log di audit del team. I controlli di piano, dominio e configurazione sono applicati lato server sia all'inizio dell'accesso che nel callback.