Wordt mijn JWT naar een server gestuurd?+−
Nee. Decoderen gebeurt volledig in je browser met de Web-API's atob en TextDecoder - het token, en elk geheim of elke publieke sleutel die je plakt om een handtekening te verifiëren, verlaten je apparaat nooit.
Kan deze tool de handtekening verifiëren?+−
Ja, als best-effort bonus. Als je het HMAC-geheim kent (voor HS256/384/512) of de PEM-gecodeerde publieke sleutel plakt (voor RS256/384/512 of ES256/384/512), controleert de tool de handtekening lokaal met de Web Crypto API van de browser. Zonder sleutel worden alleen de header en payload gedecodeerd en getoond - decoderen zelf vereist nooit de ondertekeningssleutel.
Waarom staat er dat het algoritme "none" is?+−
"alg": "none" betekent dat het token helemaal niet is ondertekend - iedereen had er willekeurige claims in kunnen schrijven. Sommige bibliotheken accepteerden zulke ongesigneerde tokens vroeger ten onrechte als geldig, wat een bekende manier werd om authenticatie te omzeilen. Deze tool markeert dit altijd duidelijk, zodat je het niet mist.
Wat betekenen exp, iat en nbf?+−
Dit zijn de standaard tijdstempelclaims uit RFC 7519: iat geeft aan wanneer het token is uitgegeven, nbf het vroegste moment waarop het geldig wordt, en exp wanneer het dat niet meer is. Alle drie worden opgeslagen als een NumericDate - seconden sinds het Unix-epoch - wat deze tool omzet naar een leesbare datum en een relatieve tijd zoals "verloopt over 2 uur".
Waarom kan ik de payload lezen zonder geheim?+−
Omdat de header en payload van een JWT alleen base64url-gecodeerd zijn, niet versleuteld - coderen is geen geheimhouding. Iedereen met het token kan de claims al lezen; de handtekening bewijst alleen dat ze niet zijn gewijzigd door iemand zonder de sleutel. Zet nooit iets in een JWT-payload dat je niet wilt dat een aanvaller direct kan lezen.
Mijn token heeft 3 delen maar decodeert nog steeds niet - waarom?+−
Elk van de drie delen (header, payload, handtekening) moet geldige base64url-tekst zijn, en de header en payload moeten decoderen naar geldige JSON. Deze tool decodeert de header en payload onafhankelijk van elkaar en vertelt precies welke stuk is en waarom (slechte base64, slechte UTF-8 of ongeldige JSON), in plaats van stilletjes te falen.