JSON opmaken
JSON opmaken, controleren en samenvouwen.
Ontwikkelaar
Inhoud van een JSON Web Token uitlezen.
Deze waarschuwing staat vooraan omdat het gevolg groot is.
Een JWT is een sleutel. Wie hem heeft, is jou — voor de dienst waar hij bij hoort en zolang hij geldig is. Er zit geen wachtwoord meer tussen.
Een token in een online decoder plakken betekent dat je je toegang naar een derde stuurt. Bij een productietoken is dat een beveiligingsincident, en het is een van de manieren waarop toegang tot systemen weglekt.
Bij deze tool wordt niets verstuurd: het decoderen gebeurt volledig in je browser. Dat is precies waarom hij zo gebouwd is. Bij een willekeurige andere decoder is dat geen gegeven — controleer dat, of ga ervan uit dat het token gecompromitteerd is.
Werk waar mogelijk met een testtoken. Lek er toch een uit, trek hem dan in en maak een nieuwe.
De meest voorkomende misvatting over JWT.
Een gewone JWT bestaat uit drie delen, gescheiden door punten: de header, de gegevens en de handtekening. De eerste twee zijn base64url-gecodeerd, niet versleuteld — iedereen kan ze lezen.
De handtekening beschermt tegen wijziging, niet tegen inzage. Hij garandeert dat de inhoud niet is aangepast sinds de uitgifte, en dat is alles.
Zet dus nooit iets in een token wat de houder niet mag weten. Geen wachtwoorden, geen interne notities, geen persoonsgegevens die niet nodig zijn. Wat erin staat, is voor de gebruiker leesbaar.
Deze tool controleert de handtekening niet. Dat kan ook niet zonder de sleutel, en die hoort niet in een browser. Je ziet hier dus wat er in het token staat, niet of het geldig is.
Een paar standaardvelden komen in vrijwel elk token voor.
| Veld | Betekenis |
|---|---|
| exp | vervalt op — verlopen tokens worden geweigerd |
| iat | uitgegeven op |
| nbf | niet geldig vóór |
| sub | wie het token beschrijft |
| iss | wie het heeft uitgegeven |
| aud | voor welke dienst het bedoeld is |
De tijdstempels staan in seconden sinds 1970 in UTC, wat als getal onleesbaar is; hier staan ze als datum en tijd.
Een verlopen token is de meest voorkomende oorzaak van een onverwachte foutmelding bij een API. Kijk dus eerst naar exp. Let daarbij ook op klokverschil tussen server en client: een paar minuten verschil kan een token dat net is uitgegeven al ongeldig laten lijken.
Nee. Header en gegevens zijn alleen gecodeerd en door iedereen te lezen.
Hier wordt niets verstuurd, dus technisch kan het. Went het jezelf toch af — bij andere decoders lekt het wel.
Nee. Dat vraagt de sleutel, en die hoort niet in een browser.
Meestal verlopen. Kijk naar exp, en let op klokverschil tussen server en client.
Alles wat de houder niet mag weten — wachtwoorden, onnodige persoonsgegevens.
Nee, het decoderen gebeurt in je browser.