JWT-purkaja (JWT Decoder)

Liitä JSON Web Token lukeaksesi sen otsakkeen ja hyötykuorman, nähdäksesi milloin se vanhenee ja ymmärtääksesi jokaisen väitteen. Tokenisi ei koskaan poistu selaimestasi.

Toimii selaimessaEi rekisteröitymistäMitään ei lähetetä

Purkaminen ei ole varmentamista. Kuka tahansa voi lukea JWT:n otsakkeen ja hyötykuorman, koska ne on vain base64url-koodattu. Tämä työkalu näyttää, mitä token väittää; se ei todista tokenin aitoutta. Tarkista allekirjoitus aina palvelimellasi.

Otsake

Hyötykuorma


      

Tarkista allekirjoitus (valinnainen, HS256/HS384/HS512)

Tarkistaa HMAC-allekirjoituksen syöttämälläsi salaisuudella selaimesi Web Crypto API:n avulla. Salaisuus ei koskaan poistu tältä sivulta. RSA/ECDSA-tokenit vaativat myöntäjän julkisen avaimen, eikä niitä tarkisteta täällä.

Näin käytät työkalua: JWT-purkaja

  1. Liitä token kenttään Koodattu token. Authorization-otsakkeen alussa oleva Bearer ohitetaan.
  2. Otsake ja hyötykuorma puretaan välittömästi ja näytetään muotoiltuna JSONina.
  3. Lue Väitteet selitettyinä -taulukko: exp, iat ja nbf muunnetaan päivämääriksi, joissa näkyy ”vanhenee …” / ”vanhentui … sitten”.
  4. Tarkista tilariviltä vanhenemisongelmat ja varoituksista riskialttiit asetukset, kuten alg: none.
  5. Syötä halutessasi jaettu salaisuus vahvistaaksesi HS256-, HS384- tai HS512-allekirjoituksen paikallisesti.

Mitä JWT sisältää?

JSON Web Token (RFC 7519) koostuu kolmesta pisteillä yhdistetystä base64url-merkkijonosta: header.payload.signature. Otsake (header) nimeää allekirjoitusalgoritmin (alg) ja tokenin tyypin. Hyötykuorma (payload) sisältää väitteet (claims), kuten kuka käyttäjä on ja milloin token vanhenee. Allekirjoitus lasketaan kahdesta ensimmäisestä osasta salaisuudella tai yksityisellä avaimella.

Purkaminen ei ole varmentamista

Otsake ja hyötykuorma on vain koodattu, ei salattu, joten kuka tahansa tokenin haltija voi lukea ne. Siksi JWT:n hyötykuormaan ei pidä koskaan laittaa salasanoja tai salaisuuksia. Purkaminen kertoo, mitä token sanoo. Allekirjoituksen tarkistaminen, yleensä API-palvelimella kirjastolla kuten jose tai PyJWT, todistaa kuka sen myönsi ja ettei sitä ole muokattu. Palvelimen on myös tarkistettava exp, nbf, iss ja aud sekä hylättävä odottamattomat algoritmit.

Rekisteröityjen väitteiden lunttilappu

VäiteMerkitys
issMyöntäjä (issuer): kuka loi ja allekirjoitti tokenin
subSubjekti (subject): yleensä käyttäjätunniste
audYleisö (audience): mille API:lle token on tarkoitettu
expVanhenemisaika sekunteina Unix-epookista
nbfEi voimassa ennen tätä aikaa
iatMyöntämisaika
jtiYksilöllinen tokenin tunniste, hyödyllinen mitätöintilistoissa

”Token expired” -virheiden debuggaus

Jos API hylkää tuoreelta näyttävän tokenin, vertaa arvoja exp ja nbf palvelimen kelloon. Pieni kellojen ero koneiden välillä on yleistä, joten useimmat kirjastot sallivat 30–60 sekunnin toleranssin. Tarkista myös, että exp on sekunteina: millisekuntiarvo on yleinen bugi ja siirtää vanhenemisen tuhansien vuosien päähän.

Usein kysytyt kysymykset

Onko tuotannon JWT:n liittäminen tähän turvallista?
Purku tapahtuu kokonaan selaimessasi JavaScriptillä. Tokenia ei lähetetä, kirjata lokiin eikä tallenneta. Kuten minkä tahansa tunnisteen kanssa, käsittele aktiivisia tokeneita silti huolellisesti ja käytä kuvakaappauksissa mieluummin vanhentuneita tai testitokeneita.
Tarkistaako tämä työkalu JWT:n allekirjoituksen?
Pelkkä purku ei tarkista. Voit halutessasi vahvistaa HS256-, HS384- ja HS512-tokenit syöttämällä jaetun salaisuuden; HMAC lasketaan paikallisesti Web Crypto API:lla. RS256- ja ES256-tokenit on tarkistettava palvelimellasi myöntäjän julkisella avaimella.
Miksi tokenini näkyy vanhentuneena?
exp-väite on menneisyydessä tietokoneesi kelloon verrattuna. Pyydä uusi token tai uusi se refresh tokenilla. Jos ajat näyttävät väärältä, tarkista kellojen ero tai millisekunteina kirjoitettu exp-arvo.
Mitä eroa on JWT:llä, JWS:llä ja JWE:llä?
JWT on väitteiden muoto. JWS on allekirjoitettu JWT, jossa on kolme osaa, ja juuri sen tämä työkalu purkaa. JWE on salattu JWT, jossa on viisi osaa; sen hyötykuormaa ei voi lukea ilman salauksen purkuavainta.
Miksi alg ”none” on vaarallinen?
Allekirjoittamattoman tokenin voi väärentää kuka tahansa. Palvelinten on hylättävä alg: none ja hyväksyttävä vain se tietty algoritmi, jota ne odottavat.

Aiheeseen liittyvät työkalut