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
Väitteet selitettyinä
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
- Liitä token kenttään Koodattu token. Authorization-otsakkeen alussa oleva
Bearerohitetaan. - Otsake ja hyötykuorma puretaan välittömästi ja näytetään muotoiltuna JSONina.
- Lue Väitteet selitettyinä -taulukko:
exp,iatjanbfmuunnetaan päivämääriksi, joissa näkyy ”vanhenee …” / ”vanhentui … sitten”. - Tarkista tilariviltä vanhenemisongelmat ja varoituksista riskialttiit asetukset, kuten
alg: none. - 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äite | Merkitys |
|---|---|
iss | Myöntäjä (issuer): kuka loi ja allekirjoitti tokenin |
sub | Subjekti (subject): yleensä käyttäjätunniste |
aud | Yleisö (audience): mille API:lle token on tarkoitettu |
exp | Vanhenemisaika sekunteina Unix-epookista |
nbf | Ei voimassa ennen tätä aikaa |
iat | Myöntämisaika |
jti | Yksilö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?
Tarkistaako tämä työkalu JWT:n allekirjoituksen?
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ä?
Miksi alg ”none” on vaarallinen?
alg: none ja hyväksyttävä vain se tietty algoritmi, jota ne odottavat.