JWT-decodering wordt gebruikt om de inhoud van tokens te bekijken, wat ontwikkelaars helpt bij het debuggen van authenticatieproblemen, het analyseren van gebruikersrechten en het controleren van vervaltijden en andere cruciale informatie.
JWT bestaat uit drie delen: Header (kop), Payload (lading) en Signature (handtekening), gescheiden door punten. De eerste twee delen kunnen direct worden gedecodeerd met Base64.
De Header bevat het tokentype (typ) en het ondertekeningsalgoritme (alg), zoals '{"typ":"JWT","alg":"HS256"}', wat aangeeft hoe het token moet worden geverifieerd.
De Payload bevat claiminformatie, zoals gebruikers-ID (sub), vervaltijd (exp), uitgiftedatum (iat) en andere standaardclaims en aangepaste gegevens.
Het exp-veld geeft de vervaltijdstempel aan, waardoor snel kan worden bepaald of het token is verlopen, om te voorkomen dat ongeldige tokens worden gebruikt voor verzoeken.
Decodering toont alleen de tokeninhoud en verifieert niet de geldigheid van de handtekening. In productieomgevingen moet ook de handtekening worden geverifieerd om te zorgen dat het token niet is gemanipuleerd.