Dekodowanie JWT służy do przeglądania zawartości tokenu, pomagając programistom w debugowaniu problemów z uwierzytelnianiem, analizowaniu uprawnień użytkowników, sprawdzaniu czasu wygaśnięcia i innych kluczowych informacji.
JWT składa się z trzech części: Nagłówek (Header), Ładunek (Payload), Podpis (Signature), oddzielonych kropkami, przy czym pierwsze dwie części można bezpośrednio zdekodować z Base64.
Nagłówek zawiera typ tokenu (typ) i algorytm podpisu (alg), np. '{"typ":"JWT","alg":"HS256"}', wskazujący, jak zweryfikować token.
Ładunek zawiera informacje o deklaracjach, takie jak ID użytkownika (sub), czas wygaśnięcia (exp), czas wystawienia (iat) i inne standardowe deklaracje oraz dane niestandardowe.
Pole exp oznacza znacznik czasu wygaśnięcia, który można szybko sprawdzić poprzez dekodowanie, aby uniknąć używania nieprawidłowych tokenów w żądaniach.
Dekodowanie pokazuje tylko zawartość tokenu, nie weryfikując ważności podpisu. W środowiskach produkcyjnych należy również zweryfikować podpis, aby upewnić się, że token nie został zmodyfikowany.