Gå til hovedindhold

Gratis JWT-dekoder

Dekodér og inspicér et vilkårligt JSON Web Token. Vis header, payload, udløb og standardpåstande. Alt kører lokalt i din browser — tokens forlader aldrig din enhed.

Virker offline, når den er indlæst

🔒 Tokenet afkodes udelukkende i din browser. Intet sendes til nogen server.

Almindelige anvendelser

  • Debug godkendelse problemer med JWT DecoderInspicér JWT'er fra din app til fejlsøgning af loginudbrudsfejl, tilladelsesproblemer og token-udløbsproblemer.
  • Inspicér API-token mens du tester slutpunkterDekod JWT'er returneret af din API til at bekræfte, at de rigtige påstande, omfattninger og tilladelser udstedes.
  • Sikkerhedsrevision JWT-tokenGennemgå JWT'er som del af sikkerhedsrevision — kontroller for svage signeringsalgoritmer, overdreven tokenlevetid eller følsom data i nyttelast.
  • Inspicér OAuth og OpenID Connect-tokenDekod adgangstoken, ID-token og opdateringstoken fra Google, Auth0, Okta, Microsoft og andre OAuth-udbydere.
  • Lær hvordan JWT-token fungererDekod eksempel JWT'er for at forstå strukturen: header, payload og signatur. Se eksempler på virkelige verden.

Sådan fungerer det

Dekoderen er en håndskrevet parser uden afhængigheder, der kører udelukkende i din browser: den deler tokenet ved punktummer, omdanner hvert Base64URL-segment til almindelig Base64 med strengudskiftning og udfylder det til et multiplum af fire og kalder derefter browserens indbyggede atob() og JSON.parse for at genskabe header- og payload-objekterne. Valgfri signaturverificering bruger Web Crypto API (crypto.subtle.verify) — intet bibliotek, ingen server.

  1. 1
    Base64URL-afkodning
    Værktøjet deler JWT'en ved de to punktummer, hvilket giver tre segmenter. Hvert segment er Base64URL — som bruger - og _ i stedet for + og / og udelader udfyldning. Koden bytter tegnene tilbage, udfylder med =-tegn og kalder browserens indbyggede atob() for at afkode bytes.
  2. 2
    JSON-fortolkning og udtræk af claims
    De afkodede bytes sendes gennem JSON.parse for at få header- og payload-objekterne. De registrerede claims exp, iat og nbf udtrækkes som Unix-tidsstempler og omdannes til Date-objekter; udløbsstatus tjekkes igen hvert 20. sekund via setInterval, så et token, der udløber, mens fanen er åben, automatisk skifter fra gyldigt til udløbet. Relative tidsangivelser ('om 3 dage', 'for 2 timer siden') formateres med Intl.RelativeTimeFormat efter din browsers sprog.
  3. 3
    Visning af signatur og valgfri verificering
    Den rå Base64URL-signaturstreng vises ved siden af header og payload. Angiver du en nøgle, kalder værktøjet crypto.subtle.importKey og crypto.subtle.verify for at tjekke signaturen lokalt. Det accepterer delte HMAC-hemmeligheder (HS256/384/512), PEM-kodede offentlige RSA-nøgler (RS256/384/512) og offentlige ECDSA-nøgler eller JWK/JWKS-objekter (ES256/384/512) — bestemt af alg-feltet i headeren.
  4. 4
    Ingen netværksforespørgsler
    Hvert trin — afkodning, tidsberegning og kryptografisk verificering — kører i browserens JavaScript-motor. Tokenet og eventuelt nøglemateriale, du indtaster, forlader aldrig din enhed.

JWT'er indeholder ofte sessionsoplysninger, brugeridentitet og adgangsomfang; værktøjet afkoder og verificerer dem eventuelt udelukkende i din browser med atob() og Web Crypto API, så hverken tokenet eller en nøgle, du angiver, sendes nogen steder hen.

Relaterede værktøjer

Ofte stillede spørgsmål