JWT decoderen: een JSON Web Token lezen en controleren

Wil je een JWT decoderen, plak dan het token: de tool laat zien wat er in een JSON Web Token zit – header, payload en handtekening, met uitgever, geldigheid en verlooptijd in gewone taal. Met het secret of de publieke sleutel controleert hij zelfs de handtekening. Het token verlaat je browser niet.

Bron: §§ 2, 4.1 (Claims, NumericDate), IETF RFC 7519 – JSON Web Token (JWT). Bijgewerkt: .

Plak het token; “Bearer ” ervoor mag. Het bestaat uit drie delen gescheiden door punten.

Je tekst blijft in je browser: hij wordt niet verstuurd, niet opgeslagen en niet in de adresbalk gezet.

HS256/384/512: het secret als tekst. RS/PS/ES: publieke sleutel als PEM (“BEGIN PUBLIC KEY”) of JWK. De sleutel blijft in je browser.
Alleen voor HS256/384/512: het secret wordt vóór de controle gedecodeerd (gebruikelijk bij gegenereerde sleutels). Anders geldt de tekst zoals getypt.
Mijn toolboxJe invoer wordt alleen in deze browser opgeslagen.

Resultaat

Status
Geldig JWT-formaat – algoritme HS256
Handtekening
Geldig ✓ – de handtekening past bij de ingevoerde sleutel.
Header
{ "alg": "HS256", "typ": "JWT" }
Payload
{ "sub": "1234567890", "name": "Sanne de Vries", "iss": "https://beispiel.example", "iat": 1516239022, "exp": 4102444800 }
Tijden (UTC)
Uitgegeven (iat): 2018-01-18T01:30:22Z Verloopt (exp): 2100-01-01T00:00:00Z – over 73 jaar
Bekende claims
Uitgever (iss): https://beispiel.example Onderwerp (sub): 1234567890

Zo wordt het berekend

Een JSON Web Token (JWT) vervoert bewerkingen (claims) tussen twee partijen – meestal na het inloggen, als bewijs dat “deze gebruiker is ingelogd”. Het bestaat uit drie delen gescheiden door punten: header.payload.handtekening (RFC 7519, RFC 7515).

Een JWT decoderen – zo werkt het

  1. Plak het token in het bovenste veld (met of zonder “Bearer”).
  2. Header en payload verschijnen meteen als leesbare JSON, met daaronder verlooptijd en uitgever.
  3. Optioneel: voer de sleutel in bij “Secret of publieke sleutel” en de tool controleert de handtekening.

Wat er in een token zit

Belangrijk: lezen is niet controleren

Header en payload zijn alleen base64url-gecodeerd, niet versleuteld. Wie een token ziet, kan het lezen – wachtwoorden of andere geheimen horen er niet in. Zonder handtekeningcontrole bewijst de inhoud niets, want iedereen kan haar wijzigen. De controle hier werkt met een HMAC-secret (HS256/384/512) en met een publieke sleutel (RS, PS, ES); een token met alg: none is niet ondertekend.

Bescherming tegen algorithm confusion

Een bekende aanval geeft de server een token met alg: HS256, ondertekend met de publieke sleutel als secret. De tool weigert daarom de controle als een publieke of private sleutel als HS-secret wordt ingevoerd (RFC 8725 raadt aan het algoritme nooit alleen uit het token te halen).

Grenzen

Veelgestelde vragen

Wat is een JWT?

Een JSON Web Token is een compacte, URL-veilige tekenreeks van drie delen (header, payload, handtekening). Hij draagt claims zoals de gebruikers-ID of verlooptijd en dient vaak als toegangsbewijs na het inloggen.

Kan iedereen de inhoud van een JWT lezen?

Ja. Header en payload zijn alleen base64url-gecodeerd, niet versleuteld. Alleen de handtekening beschermt tegen wijziging, niet tegen lezen. Stop dus geen geheimen in een JWT.

Hoe controleer ik de handtekening van een JWT?

Voer bij “Secret of publieke sleutel” het secret in voor HS256/384/512, of de publieke sleutel als PEM of JWK voor RS256, PS256 of ES256. Het resultaat verschijnt bij “Handtekening”.

Is het veilig om mijn token in een online decoder te plakken?

Deze decoder werkt volledig in je browser en verstuurt niets. Toch is een geldig token een toegangsbewijs. Gebruik waar mogelijk test-tokens of al verlopen tokens.

Wat betekenen exp, iat en nbf?

exp is het moment waarop het token verloopt, iat het moment van uitgifte en nbf het moment vanaf wanneer het geldt. Alle drie zijn seconden sinds 1 januari 1970 UTC.

Waarom meldt de tool “niet gecontroleerd”?

Zonder sleutel valt er niets om de handtekening aan te toetsen, dus de inhoud wordt alleen gelezen. Ook bij niet-ondersteunde algoritmen of ongeschikte sleutelformaten blijft de controle achterwege.

Bronnen en wettelijke basis

Bijgewerkt op: · Redactioneel beleid

Vergelijkbare tools