Decoder / Encoder JWT

Decodifica e ispeziona token JWT all'istante o crea JWT firmati. 100% lato browser.

Tutta l'elaborazione avviene nel tuo browser. Nessun dato viene inviato a server.

Cos'è JWT (JSON Web Token)?

JWT (JSON Web Token) è uno standard aperto (RFC 7519) per trasmettere informazioni in modo sicuro tra le parti come oggetto JSON. È ampiamente utilizzato per autenticazione e scambio di informazioni nelle applicazioni web. Un JWT è codificato in Base64URL, non criptato — chiunque può decodificarne il payload. Non archiviare mai informazioni sensibili in un JWT senza crittografia.

Struttura di un JWT

Esempio

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c

HeaderPayloadSignature

Header

Contiene il tipo di token (typ) e l'algoritmo di firma (alg), come HS256 o RS256.

Payload

Contiene i claims — dichiarazioni sull'utente e metadati come exp (scadenza), iat (emesso il) e sub (soggetto).

Signature

La firma è creata firmando l'intestazione e il payload codificati con una chiave segreta. Verifica che il token non sia stato manomesso.

Claims standard

ClaimClaims standard
issEmittente
subSoggetto (ID utente)
audDestinatario
expScadenza
iatEmesso il
nbfNon prima di
jtiID univoco JWT

Domande frequenti

Un JWT è criptato?
No. Un JWT standard (JWS) è solo firmato, non criptato. Il payload è codificato in Base64URL e chiunque può decodificarlo. Non inserire mai informazioni sensibili come password nel payload di un JWT.
Perché è necessaria una chiave segreta per verificare la firma?
Le firme basate su HMAC (HS256, ecc.) usano un segreto condiviso. Senza il segreto è impossibile verificare se la firma è autentica. Decodificare il payload e verificare la firma sono operazioni distinte.
Cosa succede se non c'è il claim exp?
Se manca il claim exp, il token non scade mai da solo. Il server deve implementare un proprio meccanismo di revoca per invalidare questi token.
Qual è la differenza tra HS256 e RS256?
HS256 usa una chiave segreta simmetrica condivisa tra tutte le parti. RS256 usa una coppia di chiavi asimmetriche (chiave privata per firmare, chiave pubblica per verificare), più adatta per microservizi.
Dove dovrei conservare un JWT?
I cookie HttpOnly sono raccomandati perché proteggono dagli attacchi XSS. Conservare JWT nel localStorage è comodo ma vulnerabile a XSS.
Cos'è un Refresh Token?
Un Refresh Token è un token a lunga durata usato per ottenere un nuovo Access Token alla sua scadenza, senza richiedere un nuovo accesso all'utente.
Il JWT incollato qui viene inviato a un server?
No. Tutta la decodifica e la codifica avviene nel tuo browser tramite JavaScript. Niente viene trasmesso a nessun server.

Strumenti correlati