·4 min leestijd

JWT-decoder voor Mac — plakken en inspecteren

JWT's in jwt.io plakken om de claims te lezen werkt, tot je je realiseert dat je net een geldig token naar een externe website hebt gestuurd.

Je pakt een JWT uit een requestheader of een logbestand. Het is een lange, door punten gescheiden string die voor het menselijk oog niets betekent. Je moet de vervaldatum-claim controleren, de uitgever verifiëren, of zien welke scopes ingebed zijn. Dus open je jwt.io, plak je het token, en lees je de gedecodeerde payload in het rechterpaneel.

Deze workflow heeft een probleem: je hebt net een actief authenticatietoken over het netwerk gestuurd naar een website die je niet zelf beheert. JWT-payloads bevatten vaak gebruikers-ID's, e-mailadressen, rollen en rechten. Het token zelf kan nog steeds geldig zijn. Zelfs als jwt.io betrouwbaar is, is het mogelijk dat het beveiligingsbeleid van je bedrijf het daar niet mee eens is.

Wat een JWT eigenlijk bevat

Een JSON Web Token heeft drie delen, gescheiden door punten: een header (algoritme en type), een payload (de claims — vervaldatum, uitgever, subject, aangepaste data) en een handtekening. De header en payload zijn gewoon Base64url-gecodeerde JSON. Je hebt geen server of speciale library nodig om ze te lezen — je hebt een Base64-decoder en een JSON-formatter nodig. Maar dit elke keer handmatig in Terminal doen, is vervelend.

Decodeer JWT's lokaal op je Mac

Bellows bevat een speciale JWT-decoder die het token opsplitst in zijn drie delen en de gedecodeerde header en payload als geformatteerde JSON weergeeft. Plak het token, zie de claims. Geen netwerkverzoek, geen externe server, geen risico op het lekken van een actief token.

Bellows JWT-decoder met gedecodeerde header en payload op macOS

Klembordbewust

Kopieer een JWT uit de devtools van je browser, een logbestand, of een Slack-bericht. Open Bellows en het detecteert het tokenformaat op je klembord, waarna het direct de JWT-decoder voorstelt. De gedecodeerde payload verschijnt in één stap.

Vervaldatum in één oogopslag controleren

De meest voorkomende reden om een JWT te decoderen, is om te controleren of het is verlopen. De exp-claim is een Unix-timestamp — makkelijk voor machines, betekenisloos voor mensen. Door de gedecodeerde payload te zien, kun je snel de vervaldatum aflezen naast andere claims zoals iss, sub en aud, zonder timestamps in je hoofd om te rekenen.

Onderdeel van een grotere toolkit

JWT-decodering leidt vaak tot gerelateerde taken: een Base64-waarde binnen een claim decoderen, een string hashen om te vergelijken met een fingerprint, of een redirect-URI die in de payload staat URL-decoderen. Met 41 tools beschikbaar in dezelfde app hoef je voor deze vervolgtaken niet naar een ander hulpmiddel over te schakelen.

Haal Bellows in de Mac App Store

Volgend artikel

Bellows

41 developer tools in one native Mac app — JSON, JWT, Base64, hashes, and more.

Get Bellows on the Mac App Store