JSON Web Token

Da Wikipedia, l'enciclopedia libera.
Vai alla navigazione Vai alla ricerca

JSON Web Token (spesso abbreviato in JWT) è uno standard web per lo scambio di dati definito dalla RFC 7519 proposto nel 2015. Un token JWT è composto da 3 sezioni: l'header, che contiene i dati relativi al tipo di algoritmo usato per la codifica, il payload, che contiene i dati in formato JSON codificati e una signature (firma) che garantisce la veridicità del token.

Struttura[modifica | modifica wikitesto]

Come accennato prima, un token JWT è composto da 3 sezioni

Intestazione[modifica | modifica wikitesto]

Dall'inglese header, l'intestazione contiene un oggetto rappresentato con JSON e codificato in base64 che segue lo schema seguente:

{
  "alg": "HS256",
  "typ": "JWT"
}

La proprietà alg indica quale algoritmo è stato usato per generare la firma, la proprietà typ indica, invece, il tipo del token, in questo caso sarà sempre 'JWT'

Payload[modifica | modifica wikitesto]

Il payload contiene i dati chiamati claims, esistono 7 claims registrati e sono i seguenti:

  • iss: sta per issuer, dall'inglese emittente, ovvero specifica chi ha emesso il token, è solito specificare l'hostname.
  • sub: è solito indicare con sub il soggetto che può essere un utente.
  • aud: l'audience, ovvero il pubblico, indica a chi è rivolto il token.
  • exp: con exp si indica la data di scadenza del token.
  • nbf: viene indicata la data in cui il token inizierà a valere.
  • iat: indica la data di creazione del token.
  • jti: viene utilizzato per identificare il token univocamente.

Oltre a questi 7 claims è possibile aggiungere altre proprietà in base all'uso del token.

Come l'intestazione, il payload è un oggetto JSON codificato in base64.

Firma[modifica | modifica wikitesto]

Serve per confermare la veridicità del token. Viene generata codificando, con l'algoritmo specificato dall'intestazione, l'intestazione già codificata in base64 concatenata con un punto . concatenato con il payload anch'esso già codificato in base64.

Bibliografia[modifica | modifica wikitesto]

  Portale Informatica: accedi alle voci di Wikipedia che trattano di informatica