Torna al blog
Sicurezza
Sviluppo

Autenticazione senza disastri: sessioni, token e login esterna spiegati in modo pratico

La login non è una feature: è un sistema. Se sbagli, comprometti tutto. Ecco come funziona davvero e come evitare gli errori più comuni.

5 febbraio 2026

12 min di lettura

Alex Mihailescu

Alex

Quando qualcuno dice "aggiungiamo login con Google", di solito sta sottovalutando il problema. Non per cattiva fede, ma perché l'autenticazione introduce almeno cinque aspetti diversi che vanno gestiti insieme:

L'identità: verificare che l'utente sia chi dice di essere.

La sessione: riconoscerlo a ogni richiesta successiva senza chiedergli la password ogni volta.

I permessi: decidere cosa può fare e cosa no.

I segreti: gestire chiavi, credenziali e callback in modo sicuro.

La superficie di attacco: ogni punto di ingresso è un potenziale punto debole.

Tre scenari, tre scelte diverse

Non esiste un'unica soluzione corretta. La scelta dipende dal tipo di prodotto che stai costruendo.

Scenario A: applicazione web classica, dove il browser comunica con il tuo server.

La soluzione più semplice e solida è quasi sempre una sessione gestita dal server con un cookie sicuro. È il pattern nativo della maggior parte dei framework web e funziona bene per la stragrande maggioranza dei casi.

Scenario B: API per app mobile o client esterni.

Qui è comune usare token di autenticazione. Sono stringhe firmate che contengono informazioni sull'utente e permettono al server di verificare l'identità senza mantenere una sessione. Il problema è che se li implementi male diventano una delle vulnerabilità più frequenti. Un token gestito senza criterio può portare alla compromissione completa dell'applicazione.

Scenario C: login con Google, Facebook o altri provider.

In questo caso stai delegando l'autenticazione a un servizio esterno e devi gestire correttamente il flusso di redirect, i segreti, i callback e le validazioni. È più complesso di quanto sembri.

Tre scenari, tre soluzioni

Web app classicaBrowser ↔ ServerSessione + CookieAPI / MobileClient esterniToken firmatiLogin esternaGoogle, Facebook...Delega + RedirectLa scelta dipende dal tipo di prodotto. Non esiste una soluzione unica.La maggior parte dei progetti inizia dallo Scenario A.

La mappa concettuale che serve avere in testa

Prima di scrivere codice, chiarisci quattro concetti:

Chi sei? È la domanda dell'autenticazione. Verificare l'identità dell'utente.

Cosa puoi fare? È la domanda dei permessi. Non basta sapere chi è l'utente, serve sapere a cosa ha accesso.

Come ti riconosco a ogni richiesta? È il tema della sessione o del token. Dopo il primo login, come fai a non chiedere la password a ogni click?

Dove tengo le chiavi? Credenziali, segreti, chiavi di firma: dove stanno e chi può accedervi.

I quattro concetti da chiarire

01Chi sei?Verificare l'identità dell'utenteAutenticazione02Cosa puoi fare?Decidere a cosa hai accessoPermessi03Come ti riconosco?Mantenere l'identità tra le richiesteSessione o token04Dove tengo le chiavi?Credenziali, segreti, chiavi di firmaGestione segreti

Errori tipici che trasformano la login in un rischio

Errore 1: trattare i token come semplici stringhe.

Un token di autenticazione ha una struttura precisa: contiene dati, ha una firma e usa un algoritmo specifico. La sicurezza non è garantita per il semplice fatto di usare un token. Serve verificare la firma, controllare la scadenza e validare il contenuto a ogni richiesta.

Errore 2: mettere informazioni sensibili dentro il token.

I token viaggiano tra client e server. Se ci metti dentro dati sensibili, chiunque li intercetti può leggerli. Il contenuto di un token deve essere il minimo indispensabile.

Errore 3: sessioni non protette.

Usare HTTPS protegge la comunicazione, ma non risolve tutti i problemi. Serve anche ruotare l'identificativo della sessione dopo il login, impostare le protezioni corrette sui cookie e gestire la scadenza in modo coerente.

Errore 4: confondere autenticazione e permessi.

"Se sei loggato allora puoi fare tutto" è la strada più veloce verso problemi di sicurezza. Essere autenticati e avere i permessi per un'azione sono due cose diverse e vanno gestite separatamente.

Errore 5: fidarsi dei dati che arrivano dall'utente.

La regola più importante in sicurezza è anche la più ignorata: non fidarti mai di nessun dato controllato dall'utente. Valida e pulisci ogni input. Questo vale anche quando il codice lo ha scritto l'AI.

I 5 errori più comuni

1Token come semplici stringheFirma non verificata, scadenza ignorata2Dati sensibili nel tokenChiunque intercetti il token li legge3Sessioni non protetteCookie vulnerabili, nessuna rotazione4Auth ≠ Permessi"Sei loggato = puoi fare tutto"5Fidarsi dell'input utenteNessuna validazione sui dati ricevuti

Checklist "login pronta per utenti reali"

1.

Sessioni e cookie configurati con flag di sicurezza, HTTPS obbligatorio, scadenze coerenti e rotazione dopo il login.

2.

Permessi minimi definiti: almeno due ruoli distinti con regole chiare su chi può accedere a cosa.

3.

Segreti e credenziali mai salvati nel codice sorgente, separati per ambiente.

4.

Log e alert sui tentativi di accesso anomali, anche in forma minima.

5.

Se usi token: verifica della firma, controllo della scadenza e validazione del contenuto a ogni richiesta.

Vuoi applicare questi principi al tuo progetto?

Aiuto PMI e professionisti a risparmiare tempo automatizzando i processi.

Parliamone

Certificazioni Meta

Meta Front-End DeveloperMeta Back-End DeveloperMeta Full-Stack Developer

Alex.Dev

Costruisci. Valida. Scala.

© 2026 Alex.Dev — Tutti i diritti riservati — P.IVA: 02508720519