🌐 DA

🔓 JWT-dekoder

Indsæt en JWT (JSON Web Token) for straks at base64url-dekode dens header og payload til flot formateret JSON. Claimsene exp/iat/nbf vises som læsbare tidspunkter, med et badge der angiver, om tokenet er udløbet.

⚠️ Dette værktøj dekoder kun - det verificerer ikke signaturen. Der er bevidst ikke noget felt til hemmelig nøgle af sikkerhedshensyn. Hvis du har brug for signaturverificering, skal du bruge et JWT-bibliotek på serversiden.

GUIDE

Laes mere

01

1. Forstå JWT-strukturen

En JWT har tre dele adskilt af punktummer: header.payload.signature. Headeren indeholder signeringsalgoritmen (alg) og tokentypen (typ); payloaden indeholder de faktiske claims (bruger-id, tilladelser, udstedelsestid osv.), som alle er base64url-kodet. Signaturen er header+payload signeret med en hemmelig nøgle (eller privat nøgle) og bruges til at bekræfte, at tokenet ikke er blevet manipuleret - men dette værktøj udfører ikke den verificering.

02

2. Claimsene exp, iat og nbf

exp (expiration) er, hvornår tokenet udløber, iat (issued at) er, hvornår det blev udstedt, og nbf (not before) betyder, at tokenet ikke er gyldigt før det tidspunkt. Alle tre gemmes som Unix-tidsstempler (sekunder), som ikke er læsbare ved et hurtigt blik. Dette værktøj viser hver som både lokal tid og ISO 8601 og markerer med et "Udløbet"-badge, hvis exp ligger i fortiden.

03

3. Når du har brug for signaturverificering

At verificere en JWT-signatur kræver den hemmelige nøgle, der blev brugt til at signere den (HMAC-familien, f.eks. HS256) eller den tilsvarende offentlige nøgle (RSA/ECDSA-familien, f.eks. RS256/ES256). Det er en følsom operation, som hører hjemme på serversiden, så dette browserbaserede værktøj dekoder kun (så du kan inspicere indholdet) og beder aldrig om en hemmelig nøgle. Til reel verificering skal du bruge et JWT-bibliotek i backend (jsonwebtoken, PyJWT, firebase-admin osv.).

Ofte stillede sporgsmal

Kan dette værktøj bruges til at forfalske en JWT?
Nej. Det dekoder kun (base64url-dekoder) - det genererer eller verificerer aldrig en signatur. En gyldig signatur kræver den hemmelige/private nøgle, som kun udstederen kender, og dette værktøj accepterer aldrig en sådan.
Hvorfor er der ikke et felt til en hemmelig nøgle?
Af sikkerhedshensyn. Det er en vane, der kan føre til utilsigtet eksponering, at indsætte hemmeligheder i browserværktøjer, så dette værktøj er designet til slet ikke at acceptere dem.
Hvordan kan jeg se, om et token er udløbet?
Hvis payloaden har en exp-claim, sammenlignes den automatisk med den aktuelle tid og vises som et "Udløbet"- eller "Gyldig (ikke udløbet endnu)"-badge.
Bliver tokenet, jeg indsætter, sendt til en server?
Nej. Dekodningen sker udelukkende i din browsers JavaScript og sendes aldrig til en server.