Indice dei contenuti
- Comprendere il Single Sign-On e i suoi benefici
- Cos’è il Single Sign-On (SSO)?
- Come funziona il Single Sign-On?
- Flusso di autenticazione SSO: passaggi dettagliati
- Come funziona questo codice?
- Vantaggi del Single Sign-On per la sicurezza
- Il rischio di un SSO compromesso
- SAML (Security Assertion Markup Language)
- Come funziona OAuth 2.0?
- Come funziona OpenID Connect?
- Sfide e limitazioni del Single Sign-On
Comprendere il Single Sign-On e i suoi benefici
Nel mondo digitale di oggi, gestire molteplici credenziali di accesso può essere frustrante e poco sicuro. Il Single Sign-On (SSO) è un metodo di autenticazione che consente agli utenti di accedere a più applicazioni con un’unica autenticazione.
Eliminando la necessità di più login, l’SSO migliora la sicurezza e semplifica l’accesso ai servizi digitali. In questo articolo vedremo cos’è il Single Sign-On, come funziona il Single Sign-On, e perché rappresenta una soluzione essenziale per la cybersicurezza moderna.
Cos’è il Single Sign-On (SSO)?
Il SSO Single Sign-On è un sistema che permette a un utente di accedere a più applicazioni utilizzando un solo set di credenziali di accesso. Questo significa che, invece di dover inserire username e password per ogni sito o servizio, una soluzione SSO autentica l’utente una sola volta e gli consente di accedere a tutte le applicazioni collegate.
Esempio
SSO Single Sign-On è il sistema di autenticazione di Google, che consente agli utenti di effettuare un solo login per accedere a servizi come Gmail, YouTube e Google Drive. Altri provider di identità, come Microsoft Entra ID (ex Azure AD), Okta e OneLogin, offrono soluzioni simili per aziende e organizzazioni.
Come funziona il Single Sign-On?
L’autenticazione che consente il Single Sign-On (SSO) si basa su un provider di identità centrale che verifica le credenziali dell’utente e rilascia token di accesso. Questo sistema semplifica l’accesso a più applicazioni utilizzando un unico login, migliorando sia la sicurezza che l’esperienza utente.
Vediamo nel dettaglio come funziona il Single Sign-On con un esempio pratico e del codice per implementarlo.
Flusso di autenticazione SSO: passaggi dettagliati
Per comprendere meglio come funziona il Single Sign-On, analizziamo il flusso di autenticazione con un esempio concreto:
L’utente accede una sola volta
- Un utente cerca di accedere a un sito o a un’applicazione protetta da SSO Single Sign-On.
- Viene reindirizzato a un provider di identità (IdP) come Okta, Microsoft Entra ID o Google Identity Platform.
Il provider di identità autentica l’utente
- L’utente inserisce le proprie credenziali di accesso nel modulo di login dell’IdP.
- Se necessario, il sistema può richiedere un secondo fattore di autenticazione (MFA), come un codice OTP inviato al telefono.
- Se le credenziali sono valide, il provider di identità genera un token di autenticazione.
Accesso ai servizi senza ulteriori login
- Il provider di identità reindirizza l’utente all’applicazione originale, passando il token di autenticazione.
- L’applicazione verifica il token e, se valido, concede accesso senza richiedere ulteriori credenziali.
Sessione attiva fino alla disconnessione
- L’utente può passare tra più siti web o applicazioni utilizzando lo stesso SSO token.
- La sessione rimane attiva finché l’utente non effettua il logout o il token non scade.
Esempio pratico con OpenID Connect e OAuth 2.0
Per mostrare un’implementazione reale di SSO, consideriamo un’applicazione web che utilizza OpenID Connect (OIDC) e OAuth 2.0 per autenticare gli utenti tramite Google Identity Platform.
Configurare un Provider di Identità (Google Identity Platform)
Prima di tutto, bisogna registrare un’applicazione su Google Cloud Console per ottenere le API OAuth 2.0.
- Crea un progetto su Google Cloud.
- Vai su “Credenziali” → “Crea credenziali” → “ID client OAuth 2.0”.
- Configura il Redirect URI (es. http://localhost:3000/callback).
- Ottieni il Client ID e il Client Secret.
Implementare il Login con SSO usando Node.js e Express
Creiamo un server in Node.js che gestisce l’autenticazione SSO utilizzando Passport.js con OAuth 2.0.
Installa le dipendenze necessarie:
sh
npm install express passport passport-google-oauth20 express-session dotenv
Codice per configurare il server Express con SSO tramite Google:
javascript
require('dotenv').config();
const express = require('express');
const session = require('express-session');
const passport = require('passport');
const GoogleStrategy = require('passport-google-oauth20').Strategy;
const app = express();
// Configurazione della sessione
app.use(session({
secret: 'superSecretKey',
resave: false,
saveUninitialized: true
}));
// Inizializza Passport
app.use(passport.initialize());
app.use(passport.session());
// Configurazione della strategia OAuth 2.0 con Google
passport.use(new GoogleStrategy({
clientID: process.env.GOOGLE_CLIENT_ID,
clientSecret: process.env.GOOGLE_CLIENT_SECRET,
callbackURL: "/auth/google/callback"
}, (accessToken, refreshToken, profile, done) => {
return done(null, profile);
}));
// Serializza e deserializza l'utente
passport.serializeUser((user, done) => done(null, user));
passport.deserializeUser((obj, done) => done(null, obj));
// Route per avviare l'autenticazione
app.get('/auth/google', passport.authenticate('google', { scope: ['profile', 'email'] }));
// Callback dopo l'autenticazione
app.get('/auth/google/callback',
passport.authenticate('google', { failureRedirect: '/' }),
(req, res) => {
res.redirect('/dashboard');
}
);
// Dashboard (protetta)
app.get('/dashboard', (req, res) => {
if (!req.isAuthenticated()) {
return res.redirect('/');
}
res.send(`Benvenuto, ${req.user.displayName}`);
});
// Logout
app.get('/logout', (req, res) => {
req.logout(() => {
res.redirect('/');
});
});
app.listen(3000, () => console.log('Server in ascolto su http://localhost:3000'));
Come funziona questo codice?
- Configuriamo Google OAuth 2.0 con il Client ID e Client Secret ottenuti da Google Cloud.
- Passport.js gestisce l’autenticazione tramite la strategia GoogleStrategy.
- L’utente viene reindirizzato a Google per l’autenticazione (/auth/google).
- Dopo aver inserito le credenziali, Google reindirizza l’utente alla nostra applicazione su /auth/google/callback.
- Se il login ha successo, l’utente viene reindirizzato alla dashboard.
- Il token di autenticazione viene gestito da sessioni Express, permettendo all’utente di rimanere loggato fino alla disconnessione.
Esempio di token JWT ottenuto con OAuth 2.0
Dopo un login SSO con OAuth 2.0, Google fornisce un token JWT che può essere decodificato.
Un esempio di token JWT è:
json
{
"alg": "RS256",
"kid": "abcd1234",
"typ": "JWT"
}
{
"iss": "https://accounts.google.com",
"sub": "1234567890",
"email": "utente@example.com",
"name": "Mario Rossi",
"iat": 1712345678,
"exp": 1712349278
}
Qui:
"sub" è l'ID univoco dell'utente.
"email" mostra l’email dell’utente autenticato.
"exp" indica la scadenza del token.
Abbiamo visto come funziona il Single Sign-On, analizzando il processo con un esempio pratico e codice. Implementare un sistema SSO con OAuth 2.0 e OpenID Connect permette agli utenti di accedere a più applicazioni con un solo login, migliorando la sicurezza e l’esperienza utente.
Se vuoi approfondire, puoi consultare la documentazione ufficiale di:
- Google Identity Platform
- OAuth 2.0
Vantaggi del Single Sign-On per la sicurezza
L’adozione di soluzioni SSO (Single Sign-On) migliora notevolmente la sicurezza informatica, riducendo i rischi legati alla gestione delle password e al controllo degli accessi. Di seguito analizziamo i principali vantaggi dell’SSO con esempi pratici.
Riduzione dell’uso di password deboli
Uno dei problemi più comuni nella sicurezza informatica è l’utilizzo di password deboli e ripetute, spesso dovuto al fatto che gli utenti devono ricordare molte credenziali.
Esempio
Una multinazionale con migliaia di dipendenti obbligava ogni utente a creare password diverse per ogni sistema aziendale, inclusi email, portali HR e piattaforme di gestione documentale. Di conseguenza, molti dipendenti riutilizzavano la stessa password o ne sceglievano di troppo semplici.
Dopo aver implementato SSO con Microsoft Entra ID, ogni dipendente ha ora bisogno di una sola password per accedere a tutti i servizi aziendali. Questo ha:
- Eliminato la necessità di gestire più password;
- Ridotto il rischio di credenziali deboli o ripetute;
- Migliorato la sicurezza senza compromettere la produttività.
Minore rischio di attacchi di phishing
Gli attacchi di phishing sfruttano la tendenza degli utenti a inserire le proprie credenziali su siti web falsi. Con l’SSO, gli utenti non devono più inserire le credenziali ripetutamente, riducendo le possibilità di cadere in trappole di phishing.
Esempio
Un’importante banca ha subito un’ondata di email di phishing, in cui gli hacker chiedevano ai dipendenti di inserire le credenziali su un sito falsificato. Alcuni impiegati, pensando fosse una richiesta legittima, hanno involontariamente rivelato le proprie password, mettendo a rischio dati finanziari sensibili.
Dopo aver implementato Okta SSO, la banca ha:
- Eliminato il rischio di phishing basato su credenziali, poiché gli utenti non devono più inserire password direttamente nei servizi;
- Integrato autenticazione passwordless con chiavi di sicurezza, impedendo l’uso di credenziali rubate.
Integrazione con autenticazione a più fattori (MFA)
L’SSO viene spesso integrato con l’autenticazione a più fattori (MFA) per impedire l’accesso non autorizzato, anche se le credenziali dell’utente venissero compromesse.
Esempio: sicurezza per applicazioni cloud
Una startup tecnologica utilizza applicazioni cloud come Slack, Salesforce e AWS. Prima di implementare SSO, ogni dipendente doveva accedere separatamente a ciascun servizio e molti non attivavano l’MFA.
Dopo aver implementato Google Workspace SSO con MFA obbligatorio, il sistema ora richiede:
- Un solo login per tutte le applicazioni;
- Autenticazione biometrica o codice OTP per verificare l’identità;
- Maggior protezione contro accessi non autorizzati.
Anche se un hacker dovesse ottenere una password, non potrebbe accedere senza completare il secondo livello di verifica.
Controllo centralizzato degli accessi e revoca delle credenziali
Con l’SSO, gli amministratori IT possono gestire l’accesso ai servizi aziendali da un’unica piattaforma, facilitando la revoca delle credenziali quando necessario.
Esempio: sanità e compliance con il GDPR
Un grande ospedale deve gestire l’accesso di medici, infermieri e personale amministrativo ai dati sanitari dei pazienti. Prima dell’SSO, ogni utente aveva più account separati, rendendo difficile monitorare gli accessi e revocare permessi in caso di licenziamenti o trasferimenti.
Con OneLogin SSO, il reparto IT ora può:
- bloccare immediatamente l’accesso di un dipendente che lascia l’azienda;
- assegnare permessi in base ai ruoli, garantendo che solo il personale autorizzato possa accedere ai dati sensibili;
- generare report sugli accessi, migliorando la conformità al GDPR e HIPAA.

Il rischio di un SSO compromesso
Nonostante i vantaggi, l’SSO crea anche un punto di vulnerabilità: se il provider di SSO viene compromesso, tutte le applicazioni collegate potrebbero essere a rischio.
Esempio: un grande attacco a un provider SSO
Nel 2022, un provider SSO leader nel settore è stato vittima di un attacco informatico, compromettendo l’accesso di migliaia di aziende ai propri sistemi. Gli hacker hanno sfruttato credenziali di amministratori IT rubate per generare token di accesso validi.
Molte aziende che non avevano attivato MFA si sono ritrovate con accessi non autorizzati ai propri dati aziendali.
Come ridurre questo rischio?
- Attivare sempre l’MFA per impedire accessi non autorizzati anche se le credenziali vengono compromesse.
- Monitorare gli accessi per identificare tentativi di login sospetti.
- Utilizzare un approccio Zero Trust, richiedendo continua verifica dell’identità e dello stato del dispositivo.
Protocolli di autenticazione per SSO
I sistemi di Single Sign-On (SSO) si basano su protocolli di autenticazione per garantire un accesso sicuro e senza interruzioni agli utenti su diverse piattaforme e applicazioni.
Questi protocolli fungono da strato di sicurezza, assicurando che gli utenti possano autenticarsi una sola volta e accedere a più servizi senza dover reinserire le credenziali.
I tre protocolli più utilizzati per l’autenticazione SSO sono SAML, OAuth 2.0 e OpenID Connect (OIDC). Ognuno di essi ha un ruolo specifico, a seconda del contesto in cui viene utilizzato. Approfondiamo il loro funzionamento e vediamo alcuni esempi pratici di applicazione.
SAML (Security Assertion Markup Language)
Il SAML (Security Assertion Markup Language) è un protocollo di autenticazione basato su XML, ampiamente utilizzato nelle soluzioni aziendali per garantire l’accesso sicuro degli utenti tramite un identity provider (IdP). Aziende e istituzioni utilizzano SAML per consentire agli utenti di accedere a più applicazioni con un’unica autenticazione, senza dover gestire credenziali separate.
Come funziona SAML
SAML utilizza un modello di identità federata, in cui un utente si autentica presso un identity provider (IdP), che poi trasmette le informazioni di autenticazione alle applicazioni collegate (service providers, SP).
- L’utente tenta di accedere a un service provider (SP), come Salesforce o Google Workspace.
- Il SP reindirizza l’utente a un identity provider (IdP), come Okta o Microsoft Entra ID, per l’autenticazione.
- L’IdP verifica l’identità dell’utente e genera un’asserzione SAML firmata digitalmente.
- L’asserzione SAML viene inviata al service provider, che conferma l’identità dell’utente.
- L’utente ottiene l’accesso senza bisogno di inserire ulteriori credenziali.
Esempio: SAML nel settore aziendale
Una grande azienda utilizza SAML con Okta per consentire ai dipendenti di accedere ai portali aziendali, ai sistemi di gestione documentale (Google Drive) e alle piattaforme HR (Workday) con una sola autenticazione. Questo migliora la sicurezza e riduce la necessità di gestire più password.
Vantaggi di SAML
- Elevata sicurezza grazie alla crittografia e alla firma digitale delle asserzioni.
- Riduzione della gestione delle password, migliorando l’esperienza utente.
- Ideale per aziende e ambienti enterprise con più servizi interconnessi.
OAuth 2.0: accesso sicuro alle API
OAuth 2.0 è un framework di autorizzazione che consente alle applicazioni di ottenere accesso sicuro alle API senza dover gestire direttamente le credenziali dell’utente.
Come funziona OAuth 2.0?
Invece di richiedere nome utente e password, OAuth 2.0 utilizza token di accesso che vengono concessi alle applicazioni per interagire con un’API in modo sicuro.
- Un utente accede a un’applicazione di terze parti che vuole connettersi, ad esempio, al proprio account Google.
- L’applicazione reindirizza l’utente al server di autorizzazione (Google, Facebook, ecc.).
- L’utente concede il permesso di accesso ai dati richiesti.
- Il server OAuth genera un access token, che l’applicazione può usare per accedere ai dati dell’utente.
- L’app usa il token per effettuare chiamate API, senza mai vedere la password dell’utente.
Esempio: OAuth 2.0 nell’autenticazione social
Un sito di notizie consente agli utenti di registrarsi e accedere utilizzando il proprio account Google o Facebook, invece di creare un nuovo account con email e password. OAuth 2.0 permette al sito di autenticare l’utente senza mai richiedere le sue credenziali, utilizzando invece un token di accesso fornito da Google o Facebook.
Vantaggi di OAuth 2.0
- Maggior sicurezza
Le applicazioni non gestiscono direttamente le credenziali dell’utente. - Facilita l’integrazione tra servizi diversi
Ideale per applicazioni cloud e mobile. - Controllo granulare
Gli utenti possono concedere permessi specifici (es. accesso solo ai contatti, ma non alle email).
OpenID Connect (OIDC): autenticazione su OAuth 2.0
OpenID Connect (OIDC) è un protocollo basato su OAuth 2.0, progettato per l’autenticazione degli utenti. Se OAuth 2.0 si occupa di autorizzazione (permettere alle app di accedere a dati), OIDC gestisce l’autenticazione(verificare l’identità dell’utente).
Come funziona OpenID Connect?
OIDC utilizza lo stesso flusso di OAuth 2.0, ma fornisce anche un ID token, che contiene informazioni dettagliate sull’utente autenticato.
- L’utente tenta di accedere a un sito web utilizzando il proprio account Google.
- Il sito reindirizza l’utente a Google per l’autenticazione.
- Google verifica l’identità dell’utente e genera un ID token, contenente dettagli come nome, email e foto profilo.
- Il sito riceve il token e conferma l’identità dell’utente senza bisogno di password aggiuntive.
Esempio: OIDC nel Login con Google
Quando accedi a un nuovo servizio online utilizzando il pulsante “Accedi con Google”, il sito web utilizza OpenID Connect per ottenere informazioni verificate sulla tua identità, senza memorizzare direttamente la tua password.
Vantaggi di OpenID Connect
- Aggiunge autenticazione a OAuth 2.0, garantendo un login sicuro;
- Supportato da provider come Google, Microsoft e Okta;
- Riduce la dipendenza dalle password, migliorando la sicurezza e l’usabilità.
Confronto tra SAML, OAuth 2.0 e OpenID Connect
Protocollo | Scopo | Miglior utilizzo | Esempio d’uso |
SAML | Autenticazione con identity provider | SSO aziendale | Grandi aziende che usano Okta o Microsoft Entra IDper gestire accessi |
OAuth 2.0 | Autorizzazione per API | Accesso API e mobile app | Consentire alle app di accedere a Google Drive o Facebook senza password |
OIDC | Autenticazione basata su OAuth 2.0 | Login utenti su web e mobile | Accesso con il pulsante “Accedi con Google” su siti web |
Quale protocollo scegliere
- SAML è ideale per l’SSO aziendale, dove le organizzazioni gestiscono utenti su più applicazioni interne.
- OAuth 2.0 è perfetto per le applicazioni mobile e cloud, che devono interagire con API di terze parti.
- OpenID Connect (OIDC) è la scelta migliore per autenticazione sicura su siti e applicazioni web.
Implementando il protocollo più adatto, le aziende possono migliorare la sicurezza, ridurre la gestione delle credenziali e offrire un’esperienza utente più fluida.
Settori in cui l’SSO è più utilizzato
L’autenticazione SSO è adottata in diversi ambiti per migliorare la gestione degli accessi utente:
- Aziende e IT
Le grandi organizzazioni usano soluzioni SSO come Microsoft Entra ID e Okta per proteggere i loro sistemi.
- Sanità
Gli ospedali utilizzano SSO per garantire un accesso rapido e sicuro alle cartelle cliniche digitali.
- E-commerce
Molti negozi online permettono l’accesso tramite Google SSO o Facebook Login, semplificando il processo di registrazione.
- Istruzione
Le università usano SSO per consentire a studenti e docenti di accedere ai portali accademici con un’unica autenticazione.
Sfide e limitazioni del Single Sign-On
Nonostante i numerosi vantaggi, l’SSO presenta alcune criticità. Il principale problema è che se il provider di identità viene compromesso, tutti gli account collegati sono esposti al rischio. Inoltre, l’implementazione dell’SSO Single Sign-On può essere complessa e richiedere integrazioni con infrastrutture esistenti.
Per affrontare questi rischi, le aziende dovrebbero adottare autenticazione a più fattori (MFA) e applicare rigorose politiche di sicurezza sugli accessi utente.
Conclusione: SSO è la scelta giusta per te?
L’SSO Single Sign-On è una tecnologia fondamentale per chi desidera migliorare la sicurezza, semplificare la gestione degli accessi e offrire un’esperienza utente ottimale. Tuttavia, per garantire un’implementazione sicura, è essenziale abbinarlo a MFA e strategie di sicurezza avanzate.
Con la crescente digitalizzazione, l’SSO continuerà a essere un pilastro della cyber security moderna.
Domande e risposte
- Che cos’è il single sign-on (SSO)?
Il Single Sign-On (SSO) è un metodo di autenticazione che consente agli utenti di accedere a più applicazioni con un unico set di credenziali di accesso. - Come funziona il single sign-on?
SSO funziona utilizzando un provider di identità per autenticare un utente una sola volta e garantire l’accesso a più applicazioni collegate senza richiedere ulteriori login. - Quali sono i vantaggi dell’utilizzo di SSO?
Le soluzioni SSO riducono l’affaticamento da password, migliorano la sicurezza, supportano l’autenticazione a più fattori e semplificano la gestione degli accessi degli utenti. - L’SSO è sicuro?
Sì, se correttamente implementato con l’autenticazione a più fattori (MFA) e con solidi criteri di sicurezza, l’autenticazione SSO è altamente sicura. - Quali sono i rischi del Single Sign-On?
Il rischio principale è che se il provider SSO viene compromesso, tutti gli account collegati potrebbero essere a rischio. L’MFA aiuta a mitigare questo problema. - Quali settori utilizzano maggiormente l’SSO?
Le soluzioni SSO sono ampiamente utilizzate nei settori dell’IT aziendale, della sanità, dell’istruzione, dell’e-commerce e dei servizi finanziari per un’autenticazione sicura e senza interruzioni. - Quali sono i fornitori di SSO più comuni?
I fornitori di SSO più diffusi sono Okta, Microsoft Entra ID (Azure AD), Google Identity Platform e OneLogin. - Qual è la differenza tra SSO e MFA?
Il Single Sign-On SSO consente di accedere a più applicazioni con un unico login, mentre l’autenticazione a più fattori (MFA) aggiunge un ulteriore livello di sicurezza richiedendo una verifica supplementare. - Google offre il sistema SSO?
Sì, il sistema di autenticazione SSO di Google consente agli utenti di effettuare il login una sola volta e di accedere a più servizi Google come Gmail, YouTube e Google Drive. - Le piccole imprese possono utilizzare l’SSO?
Sì, molte soluzioni SSO basate sul cloud si rivolgono alle piccole imprese, fornendo metodi di autenticazione economici e scalabili.