0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0
Impostazioni
Genera e decodifica JSON Web Tokens (JWT) con algoritmi HS256, HS384, HS512, RS256 e RS512. In modalità Generate, completa il payload JSON e la chiave segreta per creare il token. In Read, incolla un token esistente per ispezionarne l'intenatura, il payload e verificare la firma.

HMAC con SHA-256. Chiave simmetrica condivisa. Consigliato per l'uso generale.

Chiave Segreta
Ingresso

Come funziona

Un JSON Web Token (JWT) è un token compatto e firmato che trasporta informazioni (claim) tra due parti. È composto da tre parti separate da punti —header, payload e firma—, ciascuna codificata in Base64URL.

In modalità Genera definisci l'header e il payload in JSON e firmi con una chiave segreta (HMAC) o una chiave privata (RSA/ECDSA). In modalità Leggi incolli un token esistente per ispezionarne il contenuto e verificare la firma.

Il payload non è cifrato: chiunque può leggerlo decodificando il Base64URL. La firma garantisce solo che il token non è stato alterato, non lo nasconde. Non mettere mai dati sensibili in un JWT.

Esempi

header{"alg":"HS256","typ":"JWT"} → eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9
payload{"sub":"1234567890","name":"John Doe","iat":1516239022} → eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ
tokeneyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5cLa firma (terza parte) dipende dall'algoritmo e dalla chiave; questo esempio usa HS256 con la chiave "your-256-bit-secret".

Casi d'uso

  • Autenticare utenti nelle API: il server emette un token firmato e lo valida a ogni richiesta senza salvare la sessione.
  • Ispezionare e fare il debug di token di autenticazione per vederne i claim (sub, exp, ruoli) e le date.
  • Verificare la firma di un token con la chiave segreta o la chiave pubblica per confermare che non è stato manomesso.
  • Generare token di prova con diversi algoritmi (HMAC, RSA, ECDSA) durante lo sviluppo di un flusso di autenticazione.

Domande frequenti

Il contenuto di un JWT è cifrato?

No. L'header e il payload sono solo codificati in Base64URL, che chiunque può decodificare. La firma garantisce l'integrità (che non è stato alterato), non la riservatezza.

Qual è la differenza tra HS256 e RS256?

HS256 usa un'unica chiave segreta condivisa per firmare e verificare (HMAC). RS256 è asimmetrico: si firma con una chiave privata e si verifica con la pubblica, ideale quando molti servizi devono validare senza poter emettere.

Cosa significano i claim iat, exp e nbf?

Sono timestamp standard: iat (emesso il), exp (scade il) e nbf (non valido prima di). Sono espressi in secondi dal 1970 (epoch Unix).

Perché l'algoritmo "none" è sconsigliato?

Perché produce un token senza firma: chiunque può modificare il payload e verrà comunque accettato. Serve solo per i test, mai in produzione.

Il mio token viene inviato a un server?

No. La generazione, la decodifica e la verifica avvengono interamente nel tuo browser; il token e le chiavi non lasciano mai il tuo dispositivo.