JWT (JSON Web Token) รจ uno standard aperto (RFC 7519) per il trasferimento sicuro di informazioni tra parti sotto forma di oggetto JSON. JWT รจ ampiamente utilizzato per l'autenticazione nelle moderne applicazioni Web.
Struttura JWT
Un JWT รจ composto da tre parti separate da punti:
eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxMjM0NTY3ODkwIn0.dozjgNryP4J3jVmNHl0w5N_XgL0n3I9PlFUP0THsR8U
1. Intestazione
{"alg": "HS256", "typ": "JWT"}
Definisce l'algoritmo di firma e il tipo di token.
2. Carico utile
{"sub": "1234567890", "name": "John Doe", "iat": 1516239022, "exp": 1516242622}
Contiene attestazioni: dati utente e metadati del token.
3. Firma
Garantisce l'integritร del token. Per HS256:
HMACSHA256(base64UrlEncode(header) + "." + base64UrlEncode(payload), secret)
Come funziona l'autenticazione JWT
- L'utente invia login e password
- Il server convalida i dati e crea un JWT
- Il client memorizza il token (localStorage, cookie)
- Ad ogni richiesta il client invia:
Authorization: Bearer <token> - Il server verifica la firma ed estrae i dati dal payload
Debug JWT
UsaloDebugger JWT Xuveroper decodificare e analizzare i token.
Sicurezza JWT
- Archivia i token nel cookie httpOnly, non in localStorage
- Imposta una durata breve (15-30 minuti)
- Utilizza il token di aggiornamento per aggiornare
- Non archiviare mai dati sensibili nel payload
- Controlla
algsul server: protezione contro l'attacco "alg: none".