JWT Decodificatore/

I tuoi dati sono al 100% privati -- JWT è completamente decodificato e codificato direttamente sul tuo dispositivo.

JWT
Intestazione decodificata
Payload decodificato
Chiave pubblica

Scopri di più sui JWT

Tutte le informazioni che ti interessano sui JWT e una guida passo-passo per verificare i JWT in diversi framework.

Cos'è un JWT?

JWT (JSON Web Token) è un token autonomo e senza stato che contiene informazioni in un formato strutturato e leggibile. Che tu stia proteggendo un'API o adottando l'autenticazione basata su token per la tua applicazione, i JWT sono uno strumento potente perché:

  • Senza stato: I JWT sono autonomi e non richiedono uno stato lato server per essere validati. Il JWT può garantire l'integrità dei dati tramite firme.
  • Compatibilità tra servizi: I JWT possono essere facilmente condivisi e verificati tra diversi servizi.
  • Estendibile: Il payload di un JWT può contenere rivendicazioni personalizzate, consentendo autorizzazioni flessibili e condivisione di informazioni.
Scopri di più

La struttura del JWT

Un JWT tipico è suddiviso in tre parti, ciascuna codificata in Base64URL e separata da punti (.):

  • Intestazione - Contiene metadati, come l'algoritmo di firma (es. HS256 o RS256) e il tipo di token (JWT).
  • Payload - Contiene i dati effettivi, come ID utente, profilo utente, tempo di scadenza o ambiti.
  • Firma - Una combinazione hash dell'intestazione, payload e sicura utilizzando una chiave segreta. Ha lo scopo di garantire l'integrità del token e confermare che non è stato alterato.

Questa struttura consente ai JWT di fornire un modo compatto e sicuro di trasmettere informazioni tra le parti.

jwt_structure

Rivendicazioni comuni del token in JWT

Le rivendicazioni fanno parte del payload e contengono le informazioni chiave. Ecco alcune rivendicazioni registrate standardizzate per il tuo riferimento:

RivendicazioniNome completoDescrizione
issEmittenteL'entità che ha emesso il JWT, come il server di autorizzazione.
subSoggettoIdentifica il soggetto del JWT, solitamente rappresentando l'utente autenticato.
audDestinatariSpecifica quali destinatari possono accettare e processare il token. Questo può essere un array di valori per più destinatari o un singolo valore per un solo destinatario.
expTempo di scadenzaImposta un tempo di scadenza sul token dopo il quale diventa non valido. Questo aiuta a prevenire attacchi di replay limitando la durata di validità di un token.
nbfNon primaRende un token valido solo dopo questo timestamp. Utile in situazioni in cui gli orologi non sono accessibili.
iatEmesso aQuando è stato creato il token. Questo può essere utilizzato per determinare l'età del token.
jtiID del JWTUn identificatore univoco per il token, utile per prevenire che lo stesso token venga utilizzato più volte (ad esempio, in attacchi di replay).

A seconda della specifica e della configurazione del server di autorizzazione, possono essere incluse ulteriori rivendicazioni nel payload per supportare casi d'uso specifici. Puoi anche aggiungere rivendicazioni personalizzate al JWT per soddisfare esigenze aziendali uniche.

Attenzione: Non memorizzare informazioni private o sensibili nelle rivendicazioni del JWT. Sebbene le rivendicazioni del JWT siano codificate (usando Base64URL), esse non sono criptate. Questo significa che chiunque con il token può decodificarlo e visualizzare le rivendicazioni, anche se non può alterarlo senza invalidare la firma. Usa metodi sicuri o la crittografia per proteggere i dati sensibili quando necessario.

Quando utilizzare il JWT?

I JWT possono essere particolarmente vantaggiosi nei seguenti scenari:

  1. Architettura a microservizi: Per autentificazione senza stato tra più servizi.
  2. Sistemi di single sign-on (SSO): Consentendo l'accesso a più applicazioni con un'autenticazione unica.
  3. Applicazioni mobili: Mantenendo efficacemente le sessioni utente tra le chiamate API.
  4. Applicazioni ad alto traffico: Riducendo il carico sul database in ambienti ad alto volume.
  5. Condivisione delle risorse tra origini diverse (CORS): Semplificando l'autenticazione tra domini multipli.
  6. Architetture serverless: Fornendo autenticazione senza stato dove le sessioni lato server sono difficili da gestire.
Scopri di più

Come verificare il JWT?

L'integrità di un JWT deve essere verificata per assicurarsi che la sua intestazione e payload non siano state manomesse. Di seguito sono riportati esempi passo passo per verificare i JWT nei principali ambienti di programmazione:

Argomenti correlati ai JWT

Tutte le informazioni che ti interessano sui JWT e una guida passo-passo per verificare i JWT in diversi framework.

Sblocca di più con Logto Cloud

Semplifica il tuo flusso di lavoro e garantisci una gestione sicura degli utenti con Logto Cloud. Basato su OpenID Connect (OIDC), sfrutta JWT per fornire un sistema di autenticazione e autorizzazione affidabile progettato per scalare con le tue esigenze.