Come Decodificare un token JWT in Java

Un JSON Web Token (JWT) viene spesso utilizzato nella sicurezza dell’API REST. Anche se il token può essere analizzato da framework come Spring Security OAuth , potremmo voler elaborare il token nel nostro codice.

In questo tutorial, decodificheremo e verificheremo l’integrità di un JWT .

Struttura di un JWT

Innanzitutto, capiamo la struttura di un JWT :

  • Header
  • Payload
  • Signature (firma)

La firma è facoltativa. Un JWT valido può essere costituito solo dalle sezioni di intestazione e payload. Tuttavia, utilizziamo la sezione della firma per verificare il contenuto dell’intestazione e il payload  per L’autorizzazione si sicurezza.

Le sezioni sono rappresentate come stringhe con codifica base64url separate da un delimitatore punto (‘.’). In base alla progettazione, chiunque può decodificare un JWT e leggere il contenuto delle sezioni di intestazione e payload. Ma abbiamo bisogno di accedere alla chiave segreta utilizzata per creare la firma per verificare l’integrità di un token.

Più comunemente, il JWT contiene le “affermazioni” di un utente. Questi rappresentano i dati sull’utente, che l’API può utilizzare per concedere autorizzazioni o tracciare l’utente che fornisce il token. La decodifica del token consente all’applicazione di utilizzare i dati e la convalida consente all’applicazione di considerare attendibile che il JWT sia stato generato da una fonte attendibile.

Diamo un’occhiata a come possiamo decodificare e convalidare un token in Java.

...Leggi di più