Utvecklarverktyg
JSON Web Token online debugger

Online JWT-avkodning

Inspektera en JSON Web Token-huvud och nyttolast. Det här verktyget validerar inte signaturer och bearbetningsvistelser i din webbläsare.

JWT Token-ingång

Klistra in JWT nedan för att omedelbart avkoda, inspektera och verifiera.

Väntar på input JSON Web Token.

Avkoda Header

JSON
Efter att ha klistrat in JWT kommer det analyserade innehållet att visas här.

Avkoda nyttolast

Anspråk
Efter att ha klistrat in JWT kommer det analyserade innehållet att visas här.

JWT-signaturverifiering

Välj
Signaturen kommer att visas här efter avkodning.

Ange hemligheten som ska användas när du utfärdar JWT. HS256-verifiering utförs inbyggt i din webbläsare.

JWT

Hur använder man online JWT-avkodning?

  1. Klistra in hela JWT-token.
  2. Tryck på "Decode JWT" för att analysera Header, Payload och Signatur.
  3. När du behöver bekräfta signaturen, skriv in hemligheten och använd sedan "Verifiera signatur".
JSON

Vad är JSON Web Token?

JWT är ett tokenformat som vanligtvis används för inloggning, API-verifiering och auktorisering mellan olika tjänster. Den består av tre sektioner: Header, Payload och Signature.

Nyttolastinnehåll kan avkodas och läsas, och känslig information bör inte placeras i JWT-anspråk.

HS

JWT Verifiera och säkerhet

Den här sidan stöder HS256-signaturverifiering och generering, vilket gör det enkelt att kontrollera om testmiljötokenen skapas med samma hemlighet.

All JWT-avkodning, kodning och signaturverifiering görs inbyggt i webbläsaren.

JWT SEO KUNNSKAPSBAS

Komplett guide till online JWT-avkodning: Vad är JSON Web Token, hur man verifierar det och hur man använder det säkert

Om du söker efter "JWT Decoder", "JWT Decoder", "JSON Web Token Parsing", "JWT Verify" eller "JWT Encoder", betyder det vanligtvis att du redan har en token och snabbt behöver förstå dess Header, Payload, utgångstid, signeringsalgoritm och anspråk. Den här sidan tillhandahåller inte bara JWT-avkodningsverktyg online, utan organiserar också den grundläggande kunskapen om JWT som utvecklare ofta frågar om.

Vad är JWT?

JWT är en förkortning av JSON Web Token. Det är ett tokenformat som använder JSON för att representera information och sedan konverterar den till en förenklad sträng. Det används ofta i front-end och back-end separationswebbplatser, App API, medlemsinloggning, enkel inloggning SSO, mikrotjänstauktorisering och datautbyte mellan tjänster.

JWT-avkodning kräver inget lösenord eftersom Header och Payload endast är Base64URL-kodade, inte krypterade. Alla som får token kan använda JWT-avkodaren för att se nyttolastens innehåll, så anspråk kan inte innehålla lösenord, API-nycklar eller känslig personlig information.

När ska man använda JWT?

Det vanligaste användningsfallet är auktorisering. Efter att användaren lyckats logga in, utfärdar auktoriseringsservern en JWT. När gränssnittet eller appen därefter anropar API:t placeras token i HTTP-auktoriseringshuvudet, till exempel Auktorisering: Bearer .

JWT används också ofta för informationsutbyte. När två system behöver utbyta verifierbara data, tillåter signaturer den mottagande änden att bekräfta att data inte har ändrats under överföringen. JWKS-ändpunkten används vanligtvis i stora system för att exponera publika nycklar så att olika tjänster kan verifiera källan till token.

JWT tresektionsstruktur: Header, Payload, Signatur

En standard JWT består vanligtvis av tre periodseparerade Base64URL-strängar: Header.Payload.Signature. Den första delen av Header beskriver tokentypen och signaturalgoritmen, den andra delen av Payload innehåller anspråk och den tredje delen av Signature används för att verifiera integriteten.

Vanliga registrerade anspråk inkluderar iss, sub, aud, exp, code data-i.iat och jti. Bra API-validering kontrollerar vanligtvis minst exp, iss och aud.

Hur fungerar JWT i inloggning och API?

Den typiska processen är: användaren loggar in, auktoriserar servern att verifiera kontolösenordet eller tredje parts inloggningsresultat och utfärdar sedan en åtkomsttoken; gränssnittet bifogar åtkomsttoken till API-begäran; back-end API verifierar token och returnerar skyddad data.

JWT är inte en universell sessionsersättning. När en token väl har utfärdats kan den vanligtvis verifieras utan att kontrollera databasen innan den löper ut. Emellertid måste återkallande av token, omedelbara behörighetsändringar och utloggningsbearbetning fortfarande utformas.

Vad är skillnaden mellan JWT-validering och JWT-verifiering?

JWT-validering syftar vanligtvis på att kontrollera om tokenen uppfyller de förväntade reglerna, till exempel om den har tre segment, om den kan avkodas, om JSON är laglig, om den har löpt ut, om utfärdaren är korrekt och om publiken följer det aktuella API:et.

JWT-verifiering kommer att använda den angivna algoritmen och nyckeln för att beräkna om signaturen och sedan jämföra den med den tredje signaturen av token. Att kunna förstå nyttolasten betyder inte att token är pålitlig; det officiella API:t måste genomgå sigillverifiering och anspråksverifiering.

Vad är skillnaden mellan JWT Decode och JWT Encode?

JWT Decode konverterar de första och andra styckena av token tillbaka till JSON, så att du kan läsa Header och Payload. JWT Encode är den omvända processen: förbered Header JSON och Payload JSON, generera signatur och slutligen kombinera dem till en komplett token.

Om du bara vill se nyttolastens innehåll behöver du ingen hemlighet; om du vill bekräfta om token verkligen utfärdas av ditt system, måste du använda rätt hemlighet eller offentlig nyckel för att verifiera signaturen. För närvarande stöder denna sida HS256.

JWT Claims Comparison: Vilka fält ska jag titta på efter avkodning?

När du använder online JWT-avkodning bör du också kontrollera vem som utfärdade token, vilket system den utfärdades till, när den träder i kraft, när den löper ut och om behörighetsomfånget uppfyller API-kraven. Följande tabell sammanfattar vanliga JWT-påståenden.

Anspråkkinesisk betydelseVad du ska kontrollera vid felsökning
issEmittent, utfärdareOavsett om det är din auktoriseringsserver eller en betrodd identitetsleverantör.
subÄmnes-, användar- eller huvud-IDOavsett om det motsvarar rätt användare, medlem, tjänstkonto eller enhet.
audPublik, symbolisk publikOm det ska skickas till det aktuella API; målgruppsfel orsakar ofta 401.
expUtgångstid, förfallotidOm det har gått ut; notera skillnaden i Unix tidsstämpel och tidszon.
nbfInte innan, effektiv tidHuruvida den användbara tiden ännu inte har nått; servertidsavvikelse kommer också att påverka det.
iatUtfärdad vid, utfärdandetidStämmer det med den faktiska tiden för inloggning eller uppdateringstoken.
jtiJWT ID, token unikt IDOavsett om det kan användas för återkallelselistor, granskningsloggar eller replay-attackskydd.
omfattningBefogenheternas omfattningOm läs-, skriv-, admin- och andra behörigheter som krävs av API:t finns.

Hur väljer man mellan HS256, RS256 och ES256?

alg i JWT Header kommer att tala om för verifieraren vilken algoritm som ska användas. HS256 är HMAC SHA-256, och både utfärdande och verifiering använder samma uppsättning hemligheter; RS256 använder RSA privat nyckelsignatur och offentlig nyckelverifiering; ES256 använder elliptisk kurvalgoritm.

Backend bör tydligt specificera listan över tillåtna algoritmer för att förhindra angripare från att påverka verifieringsprocessen genom att modifiera rubriken. Om JWT kommer från en identitetsleverantör, skaffa vanligtvis JWKS eller den offentliga nyckeln och kontrollera kid, iss, aud, exp.code>exp.

Vanliga JWT-fel och felsökningsmetoder

De vanligaste problemen man stöter på när man använder JWT Decoder är att token inte är i standardformatet med tre segment, Base64URL-strängen kopieras ofullständigt, det finns vita utrymmen före och efter, nyttolasten är inte laglig JSON eller att signeringshemligheten används felaktigt. Om API:et returnerar 401 eller 403, rekommenderas det att först avkoda JWT och bekräfta exp, aud och omfattning.

Checklista för JWT-felsökning
  • Om token är i header.payload.signature tresegmentsformat.
  • Om auktoriseringshuvudet använder schemat Bärare.
  • Om exp har löpt ut och om servertiden är synkroniserad.
  • Huruvida iss och aud överensstämmer med den aktuella miljön.
  • Huruvida HS256-hemligheten är helt förenlig med utfärdandet.
  • Huruvida RS256 / ES256 använder rätt offentlig nyckel och kid.
  • Om behörighetsanspråk innehåller omfattningen eller rollen som krävs av API:et.

Vad är skillnaderna mellan JWT, Session och SAML?

Session sparar vanligtvis tillståndet i servern eller centraliserad lagring, och webbläsaren sparar bara sessions-id; JWT lägger en del av tillståndet i token, så att API:t kan använda signaturen för att verifiera integriteten. SAML är XML-baserat och används ofta i företags SSO.

PlaneraLämplig för situationenSaker att notera
JWTAPI-auktorisering, SSO-åtkomsttoken, mikrotjänsterDet är nödvändigt att kontrollera utgångstid, förseglingsverifiering, återkallelse och läckage av känslig information.
SessionTraditionella webbplatser som kräver omedelbar utloggning eller centraliserad statuskontrollEn sessionsbutik på serversidan krävs, och expansion över flera tjänster kräver ytterligare design.
SAMLFöretagsidentitetsintegration, äldre SSO-systemXML-strukturer är större och signaturer och inställningar är vanligtvis mer komplexa.

JWT säkerhetsråd: Vit hatt SEO bör också skriva ner riskerna tydligt

  • Lägg inte lösenord, privata nycklar, API-nycklar, betalningsinformation eller känslig personlig information i JWT Header eller Payload.
  • Ställ in en rimlig exp och gör inte åtkomsttoken giltig under en längre tid.
  • De tillåtna algoritmerna måste fixas under backend-verifiering och lita inte blint på Headerns alg.
  • Använd en tillräckligt lång och slumpmässig HS256-hemlighet; använd inte exempelhemligheter i produktionsmiljöer.
  • Kontrollera iss, aud, nbf, iat med nödvändiga behörighetsanspråk.
  • Undvik att stoppa in en alltför stor behörighetslista i JWT för att undvika att rubriken blir för stor eller orsakar dataläckage.
  • Front-end-lagringstoken måste utvärdera XSS, CSRF, cookie-attribut och webbläsarlagringsrisker.

Detta online JWT-avkodningsverktyg använder webbläsarinbyggd bearbetning: token, hemlighet, Header JSON och Payload JSON som du klistrar in kommer inte att laddas upp till ToolBoy-servern. Trots detta bör principen om minsta offentliggörande fortfarande följas när det handlar om verkliga produktionssymboler.

JWT visas ofta i API-felsökningsprocessen tillsammans med JSON, Base64URL, URL-fråga, tidsstämpel, SHA-256, UUID, regex och andra dataformat. Du kan använda ToolBoys JSON-formateringsverktyg, Base64-kodning och avkodning, data4. eller UUID-generator.

För ytterligare läsning, se jwt.io:s JSON Web Token Introduction och RFC 7519. Innehållet på denna sida har omorganiserats och skrivits om på kinesiska, med fokus på praktisk felsökning, white hat SEO och inbyggd integritet.

Vanliga frågor om JWT-avkodning online

Kommer online JWT-avkodning att verifiera signaturen?
Att avkoda rubriken och nyttolasten motsvarar inte att verifiera signaturen; För att bekräfta om token har manipulerats, skriv in samma hemlighet och kör Verifiera.
Kan JWT Payload innehålla lösenord eller nycklar?
Rekommenderas inte. I allmänhet är JWT endast Base64URL-kodad, och alla som skaffar token kan läsa nyttolasten.
Är JWT-kodaren lämplig för att officiellt utfärda tokens?
Detta verktyg är lämpligt för utveckling, testning och felsökning. Den formella miljön bör ha problem med backend-tjänsten och korrekt hantera hemligheter eller privata nycklar.