JWT Decoder
Indsæt et JSON Web Token for at læse header og payload, se hvornår det udløber, og forstå hvert claim. Dit token forlader aldrig din browser.
Kører i din browserIngen tilmeldingIntet uploades
Afkodning er ikke verifikation. Alle kan læse en JWT's header og payload, fordi de kun er base64url-kodet. Værktøjet viser, hvad tokenet påstår; det beviser ikke, at tokenet er ægte. Verificér altid signaturen på din server.
Header
Payload
Claims forklaret
Verificér signatur (valgfrit, HS256/HS384/HS512)
Tjekker en HMAC-signatur med en hemmelighed, du indtaster, via browserens Web Crypto API. Hemmeligheden forlader aldrig siden. RSA/ECDSA-tokens kræver udstederens offentlige nøgle og verificeres ikke her.
Sådan bruger du JWT Decoder
- Indsæt tokenet i feltet Kodet token. Et indledende
Bearerfra en Authorization-header ignoreres. - Header og payload afkodes med det samme og vises som formateret JSON.
- Læs tabellen Claims forklaret:
exp,iatognbfkonverteres til datoer med “udløber om” / “udløb for … siden”. - Tjek statuslinjen for udløbsproblemer og advarslerne om risikable indstillinger som
alg: none. - Indtast eventuelt den delte hemmelighed for at verificere en HS256-, HS384- eller HS512-signatur lokalt.
Hvad indeholder en JWT?
Et JSON Web Token (RFC 7519) består af tre base64url-strenge sat sammen med punktummer: header.payload.signature. Headeren angiver signeringsalgoritmen (alg) og tokentypen. Payloaden indeholder claims, f.eks. hvem brugeren er, og hvornår tokenet udløber. Signaturen beregnes over de to første dele med en hemmelighed eller en privat nøgle.
Afkodning er ikke verifikation
Header og payload er kun kodet, ikke krypteret, så alle, der har tokenet, kan læse dem. Derfor bør du aldrig lægge adgangskoder eller hemmeligheder i en JWT-payload. Afkodning fortæller dig, hvad et token siger. Verifikation af signaturen, normalt på din API-server med et bibliotek som jose eller PyJWT, beviser, hvem der udstedte det, og at det ikke er ændret. En server skal også tjekke exp, nbf, iss og aud og afvise uventede algoritmer.
Snydeark over registrerede claims
| Claim | Betydning |
|---|---|
iss | Udsteder: hvem der oprettede og signerede tokenet |
sub | Subject: som regel bruger-ID'et |
aud | Audience: hvilket API tokenet er beregnet til |
exp | Udløbstidspunkt i sekunder siden Unix-epoken |
nbf | Ikke gyldigt før dette tidspunkt |
iat | Udstedelsestidspunkt |
jti | Unikt token-ID, nyttigt til spærrelister |
Debugging af “token expired”-fejl
Hvis et API afviser et token, der ser friskt ud, så sammenlign exp og nbf med serverens ur. Små tidsforskelle mellem maskiner er almindelige, så de fleste biblioteker tillader 30-60 sekunders spillerum. Tjek også, at exp er i sekunder: en værdi i millisekunder er en hyppig fejl og placerer udløbet tusindvis af år ude i fremtiden.
Ofte stillede spørgsmål
Er det sikkert at indsætte en produktions-JWT her?
Verificerer værktøjet JWT-signaturen?
Hvorfor vises mit token som udløbet?
exp-claimet ligger i fortiden i forhold til din computers ur. Anmod om et nyt token, eller forny det med dit refresh-token. Hvis tidspunkterne ser forkerte ud, så tjek for tidsforskydning eller en exp-værdi skrevet i millisekunder.Hvad er forskellen på JWT, JWS og JWE?
Hvorfor er alg “none” farlig?
alg: none og bør kun acceptere den specifikke algoritme, de forventer.