Udviklerværktøjer
JSON Web Token online debugger

Online JWT-afkodning

Undersøg en JSON Web Token-header og nyttelast. Dette værktøj validerer ikke signaturer og behandlingsophold i din browser.

JWT Token input

Indsæt JWT nedenfor for øjeblikkeligt at afkode, inspicere og verificere.

Venter på input JSON Web Token.

Afkod header

JSON
Efter indsættelse af JWT, vil det parsede indhold blive vist her.

Afkode nyttelast

Krav
Efter indsættelse af JWT, vil det parsede indhold blive vist her.

JWT signatur verifikation

Vælg
Signaturen vil blive vist her efter afkodning.

Indtast hemmeligheden, der skal bruges, når du udsteder JWT. HS256-verifikation udføres indbygget i din browser.

JWT

Hvordan bruger man online JWT-afkodning?

  1. Indsæt det komplette JWT-token.
  2. Tryk på "Decode JWT" for at parse Header, Payload og Signatur.
  3. Når du skal bekræfte signaturen, skal du indtaste hemmeligheden og derefter bruge "Bekræft signatur".
JSON

Hvad er JSON Web Token?

JWT er et token-format, der almindeligvis bruges til login, API-verifikation og inter-service-autorisation. Den består af tre sektioner: Header, Payload og Signature.

Nyttelastindhold kan afkodes og læses, og følsomme oplysninger bør ikke placeres i JWT-krav.

HS

JWT Verifikation og sikkerhed

Denne side understøtter HS256-signaturverifikation og generering, hvilket gør det nemt at kontrollere, om testmiljøtokenet er oprettet med den samme hemmelighed.

Al JWT-afkodning, -kodning og signaturbekræftelse udføres indbygget i browseren.

JWT SEO VIDENBASE

Komplet guide til online JWT-afkodning: Hvad er JSON Web Token, hvordan man verificerer det, og hvordan man bruger det sikkert

Hvis du søger efter "JWT Decoder", "JWT Decoder", "JSON Web Token Parsing", "JWT Verify" eller "JWT Encoder", betyder det normalt, at du allerede har et token og hurtigt skal forstå dets Header, Payload, udløbstid, signeringsalgoritme og krav. Denne side giver ikke kun online JWT-afkodningsværktøjer, men organiserer også den grundlæggende viden om JWT, som udviklere ofte spørger om.

Hvad er JWT?

JWT er forkortelsen af JSON Web Token. Det er et token-format, der bruger JSON til at repræsentere information og derefter konverterer det til en forenklet streng. Det bruges ofte i front-end og back-end adskillelseswebsteder, App API, medlemslogin, single sign-on SSO, microservice-autorisation og dataudveksling mellem tjenester.

JWT-afkodning kræver ikke en adgangskode, fordi headeren og nyttelasten kun er Base64URL-kodet, ikke krypteret. Enhver, der får tokenet, kan bruge JWT-dekoderen til at se nyttelastindholdet, så krav kan ikke indeholde adgangskoder, API-nøgler eller følsomme personlige oplysninger.

Hvornår skal man bruge JWT?

Den mest almindelige anvendelse er autorisation. Når brugeren har logget på, udsteder autorisationsserveren en JWT. Når frontenden eller appen efterfølgende kalder API'en, placeres tokenet i HTTP-autorisationsheaderen, såsom Authorization: Bearer .

JWT er også almindeligt brugt til informationsudveksling. Når to systemer skal udveksle verificerbare data, giver signaturer den modtagende ende mulighed for at bekræfte, at dataene ikke er blevet ændret under transmissionen. JWKS-endepunktet bruges almindeligvis i store systemer til at afsløre offentlige nøgler, så forskellige tjenester kan verificere kilden til tokenet.

JWT-struktur i tre sektioner: Header, Nyttelast, Signatur

En standard JWT består normalt af tre periodeadskilte Base64URL-strenge: Header.Payload.Signature. Den første sektion af Header beskriver token-typen og signaturalgoritmen, den anden sektion af Payload indeholder krav, og den tredje sektion af Signature bruges til at verificere integriteten.

Almindelige registrerede krav omfatter iss, sub, aud, exp, code data-i.iat og jti. God API-validering vil normalt kontrollere mindst exp, iss og aud.

Hvordan fungerer JWT i login og API?

Den typiske proces er: brugeren logger på, autoriserer serveren til at verificere kontoadgangskoden eller tredjeparts loginresultatet og udsteder derefter et adgangstoken; frontenden vedhæfter adgangstokenet til API-anmodningen; back-end-API'en verificerer tokenet og returnerer beskyttede data.

JWT er ikke en universel sessionserstatning. Når først et token er udstedt, kan det normalt verificeres uden at tjekke databasen før udløb. Token-tilbagekaldelse, øjeblikkelige tilladelsesændringer og logout-behandling skal dog stadig designes.

Hvad er forskellen mellem JWT-validering og JWT-verifikation?

JWT-validering refererer normalt til at kontrollere, om tokenet opfylder de forventede regler, såsom om det har tre segmenter, om det kan afkodes, om JSON er lovligt, om det er udløbet, om udstederen er korrekt, og om publikum overholder den aktuelle API.

JWT-verifikation vil bruge den angivne algoritme og nøgle til at genberegne signaturen og derefter sammenligne den med den tredje signatur af tokenet. At være i stand til at forstå nyttelasten betyder ikke, at tokenet er troværdigt; den officielle API skal gennemgå seglverifikation og kravverifikation.

Hvad er forskellen mellem JWT Decode og JWT Encode?

JWT Decode konverterer første og andet afsnit af tokenet tilbage til JSON, så du kan læse Header og Payload. JWT Encode er den omvendte proces: klargør Header JSON og Payload JSON, generer signatur og kombiner dem til sidst til et komplet token.

Hvis du bare vil se indholdet af nyttelast, behøver du ikke en hemmelighed; hvis du vil bekræfte, om tokenet virkelig er udstedt af dit system, skal du bruge den korrekte hemmelige eller offentlige nøgle til at bekræfte signaturen. I øjeblikket understøtter denne side HS256.

JWT-kravsammenligning: Hvilke felter skal jeg se på efter afkodning?

Når du bruger online JWT-afkodning, bør du også tjekke, hvem der har udstedt tokenet, hvilket system det blev udstedt til, hvornår det træder i kraft, hvornår det udløber, og om tilladelsesomfanget opfylder API-kravene. Følgende tabel opsummerer almindelige JWT-påstande.

Påstandkinesisk betydningHvad skal man tjekke ved fejlretning
issUdsteder, udstederUanset om det er din autorisationsserver eller en betroet identitetsudbyder.
subEmne-, bruger- eller hoved-idOm det svarer til den korrekte bruger, medlem, tjenestekonto eller enhed.
audPublikum, symbolsk publikumOm det skal sendes til den aktuelle API; publikumsfejl forårsager ofte 401.
ekspUdløbstid, udløbstidOm det er udløbet; Bemærk forskellen i Unix-tidsstempel og tidszonevisning.
nbfIkke før, effektiv tidOm den brugbare tid endnu ikke er nået; servertidsafvigelse vil også påvirke det.
iatUdstedt på, udstedelsestidspunktStemmer det med det faktiske tidspunkt for login eller opdateringstoken.
jtiJWT ID, token unikt IDOm det kan bruges til tilbagekaldelseslister, revisionslogfiler eller genafspilningsangrebsbeskyttelse.
omfangMyndighedens omfangOm læse-, skrive-, admin- og andre tilladelser, der kræves af API'en, eksisterer.

Hvordan vælger man mellem HS256, RS256 og ES256?

alg i JWT Header vil fortælle verifikatoren, hvilken algoritme der skal bruges. HS256 er HMAC SHA-256, og både udstedelse og verifikation bruger det samme sæt hemmeligheder; RS256 bruger RSA privat nøglesignatur og offentlig nøglebekræftelse; ES256 bruger elliptisk kurvealgoritme.

Backend bør klart specificere listen over tilladte algoritmer for at forhindre angribere i at påvirke verifikationsprocessen ved at ændre headeren. Hvis JWT kommer fra en identitetsudbyder, skal du normalt få JWKS eller den offentlige nøgle og kontrollere kid, iss, aud, exp.

Almindelige JWT-fejl og fejlfindingsmetoder

De mest almindelige problemer, man støder på ved brug af JWT-dekoder, er, at tokenet ikke er i standard tre-segment-format, Base64URL-strengen er kopieret ufuldstændigt, der er hvide mellemrum før og efter, nyttelasten er ikke lovlig JSON, eller signeringshemmeligheden bruges forkert. Hvis API'en returnerer 401 eller 403, anbefales det at afkode JWT først og bekræfte exp, aud og omfang.

JWT-debugging-tjekliste
  • Om tokenet er i header.payload.signature-formatet med tre segmenter.
  • Om autorisationshovedet bruger Bærer-skema.
  • Om exp er udløbet, og om servertiden er synkroniseret.
  • Om iss og aud er i overensstemmelse med det aktuelle miljø.
  • Hvorvidt HS256-hemmeligheden er fuldstændig i overensstemmelse med udstedelsen.
  • Om RS256 / ES256 bruger den korrekte offentlige nøgle og kid.
  • Om tilladelseskrav indeholder det omfang eller den rolle, der kræves af API'en.

Hvad er forskellene mellem JWT, Session og SAML?

Session gemmer normalt tilstanden på serveren eller centraliseret lager, og browseren gemmer kun sessions-id'et; JWT sætter en del af staten i tokenet, så API'en kan bruge signaturen til at verificere integriteten. SAML er XML-baseret og bruges almindeligvis i virksomheds-SSO.

PlanlægVelegnet til situationenTing at bemærke
JWTAPI-autorisation, SSO-adgangstoken, mikrotjenesterDet er nødvendigt at kontrollere udløbstid, verifikation af segl, tilbagekaldelse og lækage af følsomme oplysninger.
SessionTraditionelle websteder, der kræver øjeblikkelig logout eller centraliseret statuskontrolEn sessionsbutik på serversiden er påkrævet, og udvidelse på tværs af tjenester kræver yderligere design.
SAMLEnterprise-identitetsintegration, ældre SSO-systemerXML-strukturer er større, og signaturer og indstillinger er normalt mere komplekse.

JWT sikkerhedsråd: White hat SEO bør også skrive risiciene klart ned

  • Læg ikke adgangskoder, private nøgler, API-nøgler, betalingsoplysninger eller følsomme personlige oplysninger i JWT Header eller Payload.
  • Indstil en rimelig exp og gør ikke adgangstokenet gyldigt i lang tid.
  • De tilladte algoritmer skal rettes under backend-verifikation, og stol ikke blindt på Headerens alg.
  • Brug en tilstrækkelig lang og tilfældig HS256-hemmelighed; Brug ikke eksempelhemmeligheder i produktionsmiljøer.
  • Tjek iss, aud, nbf, iat med krav om nødvendige tilladelser.
  • Undgå at fylde en alt for stor tilladelsesliste i JWT for at undgå at gøre overskriften for stor eller forårsage datalækage.
  • Front-end-lagringstokens skal evaluere XSS, CSRF, cookie-attributter og browser-lagringsrisici.

Dette online JWT-afkodningsværktøj bruger browserindbygget behandling: token, hemmelighed, Header JSON og Payload JSON, du indsætter, vil ikke blive uploadet til ToolBoy-serveren. Alligevel bør princippet om minimumsoffentliggørelse stadig følges, når der er tale om rigtige produktionspoletter.

JWT vises ofte i API-fejlretningsprocessen sammen med JSON, Base64URL, URL-forespørgsel, tidsstempel, SHA-256, UUID, regex og andre dataformater. Du kan bruge ToolBoy's JSON-formateringsværktøj, Base64-kodning og afkodning, amp. eller UUID-generator.

For yderligere læsning henvises til jwt.io's JSON Web Token Introduction og RFC 7519. Indholdet på denne side er blevet omorganiseret og omskrevet på kinesisk, med fokus på praktisk fejlfinding, white hat SEO og native privacy.

Ofte stillede spørgsmål om online JWT-afkodning

Vil online JWT-afkodning bekræfte signaturen?
Afkodning af overskriften og nyttelasten svarer ikke til at verificere signaturen; for at bekræfte, om tokenet er blevet manipuleret, skal du indtaste den samme hemmelighed og udføre Bekræft.
Kan JWT Payload indeholde adgangskoder eller nøgler?
Ikke anbefalet. Generelt er JWT kun Base64URL-kodet, og enhver, der får tokenet, kan læse nyttelasten.
Er JWT-koderen egnet til officiel udstedelse af tokens?
Dette værktøj er velegnet til udvikling, test og fejlfinding. Det formelle miljø bør have backend-tjenesteproblemtokens og administrere hemmeligheder eller private nøgler korrekt.