Nelle moderne architetture a microservizi stateless e OAuth 2.0 / OpenID Connect, i JSON Web Tokens (JWT) rappresentano lo standard (RFC 7519) per trasmettere attestazioni di identità in modo sicuro tra client e server.
1. Anatomia del Token in 3 Parti
Una stringa JWT è formata da tre sezioni codificate in Base64URL separate da punti (.):
2. Claim Registrati Standard (iss, exp, sub)
iss(Issuer): L’entità che ha emesso il token.sub(Subject): ID univoco dell’utente autenticato.exp(Expiration Time): Timestamp Unix oltre il quale il token non è più valido.iat(Issued At): Timestamp di emissione del token.
3. Firma Simmetrica (HS256) vs Asimmetrica (RS256)
HS256 (HMAC-SHA256) usa un’unica chiave segreta condivisa. RS256 (RSA-SHA256) firma con una chiave privata e verifica tramite chiave pubblica (JWKS), permettendo a terze parti di validare l’integrità senza rischiare la diffusione della chiave di firma.
4. Errori Critici di Sicurezza e Vulnerabilità
Le vulnerabilità più frequenti includono l’accettazione dell’header "alg": "none", la memorizzazione in localStorage (esposto a XSS) e la mancata verifica della firma prima di considerare attendibili i dati.