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


      

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

  1. Indsæt tokenet i feltet Kodet token. Et indledende Bearer fra en Authorization-header ignoreres.
  2. Header og payload afkodes med det samme og vises som formateret JSON.
  3. Læs tabellen Claims forklaret: exp, iat og nbf konverteres til datoer med “udløber om” / “udløb for … siden”.
  4. Tjek statuslinjen for udløbsproblemer og advarslerne om risikable indstillinger som alg: none.
  5. 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

ClaimBetydning
issUdsteder: hvem der oprettede og signerede tokenet
subSubject: som regel bruger-ID'et
audAudience: hvilket API tokenet er beregnet til
expUdløbstidspunkt i sekunder siden Unix-epoken
nbfIkke gyldigt før dette tidspunkt
iatUdstedelsestidspunkt
jtiUnikt 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?
Afkodningen sker udelukkende i din browser med JavaScript. Tokenet bliver ikke uploadet, logget eller gemt. Som med alle legitimationsoplysninger bør du dog behandle aktive tokens varsomt og hellere bruge udløbne tokens eller testtokens, når du deler skærmbilleder.
Verificerer værktøjet JWT-signaturen?
Afkodning alene gør ikke. Du kan valgfrit verificere HS256-, HS384- og HS512-tokens ved at indtaste den delte hemmelighed; HMAC beregnes lokalt med Web Crypto API. RS256- og ES256-tokens skal verificeres med udstederens offentlige nøgle på din server.
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?
JWT er formatet for claims. En JWS er en signeret JWT med tre dele, og det er den, værktøjet afkoder. En JWE er en krypteret JWT med fem dele; dens payload kan ikke læses uden dekrypteringsnøglen.
Hvorfor er alg “none” farlig?
Et usigneret token kan forfalskes af hvem som helst. Servere skal afvise alg: none og bør kun acceptere den specifikke algoritme, de forventer.

Relaterede værktøjer