Skip to main content

Käytännöllinen

JWT-dekooderi ja vanhentumislaskin

JWT-dekooderi ja vanhentumislaskin

JWT Token (liitä koko tunnus)

Mikä on JWT Decoder & Expiry Calculator?

▾

JWT-dekooderi ja vanhentumislaskin jäsentää JSON Web Tokens (JWT, määritelty RFC 7519:ssä) – vakiomuotoinen tilattomaan todennusmuotoon nykyaikaisissa verkkosovellusliittymissä. Se purkaa base64url-koodatun otsikon ja hyötykuorman, jäsentää JSON-vaatimukset ja analysoi aikaperusteisia vaatimuksia, mukaan lukien vanheneminen (exp), myönnetty (iat), ei ennen (nbf), aihe (sub), myöntäjä (iss) ja yleisö (aud). JWT:itä käyttävät OAuth2/OIDC-palveluntarjoajat (Auth0, Okta, AWS Cognito, Clerk, Firebase Auth, Supabase) ja useimmat nykyaikaiset istuntojärjestelmät. JWT koostuu kolmesta base64url-koodatusta segmentistä, jotka on erotettu pisteillä: header.payload.signature. Otsikko ilmoittaa allekirjoitusalgoritmin (HS256, RS256, ES256 ovat yleisiä). Hyötykuorma sisältää "vaatimukset" - sekä vakiovaatimukset (sub, exp, iat, nbf, iss, aud, jti) että mukautettuja sovelluskohtaisia ​​tietoja. Allekirjoitus sitoo kryptografisesti otsikon ja hyötykuorman käyttämällä joko HMAC-salaisuutta (HS256) tai epäsymmetristä avainparia (RS256/ES256). Dekooderi näyttää otsikon ja hyötykuorman sisällön, mutta EI vahvista allekirjoitusta – se vaatii salaisen tai julkisen avaimen, ja se tulee aina tehdä palvelinpuolella ennen kuin luotat mihinkään JWT:hen. JWT-rakenteen ymmärtäminen on välttämätöntä todentamisongelmien virheenkorjauksessa, asiakkaan ja palvelimen välisen tiedonsiirron ymmärtämisessä ja sen varmistamisessa, että tunnukset on muodostettu oikein. Yleisiä virheenkorjausskenaarioita: "Miksi tunnus on hylätty?" (yleensä vanhentunut tai väärä yleisö), "Mille käyttäjälle tämä tunnus on?" (tarkista alivaatimus), "Milloin tämä vanhenee?" (exp väite) ja "Mitä käyttöoikeuksia tällä käyttäjällä on?" (muokatut vaatimukset, kuten roolit, laajuudet tai käyttöoikeudet). Tämä laskin käsittelee yleisimmät analyysit: rakenteen validointi (3 osaa, kelvollinen base64url), JSON-jäsennys, vanhenemistila (voimassa, vanhenee pian <7 päivää, vanhentunut), ei vielä voimassa oleva käsittely (nbf tulevaisuudessa) ja ihmisten luettava näyttö kaikista vakiovaatimuksista sekä täysi otsikko ja hyötykuorma JSON. Allekirjoitus näytetään, mutta sitä ei ole vahvistettu – tuotannon varmentamisessa tulee aina käyttää JWT-kirjastoa (jsonwebtoken, jose, PyJWT jne.) oikealla vahvistusavaimella.

PrimeCalcPro provides professional-grade tools trusted by businesses and academics.

Kaava

▾
f(x)JWT-tunnus = base64url(JSON-otsikko) + '.' + base64url(JSON-hyötykuorma) + '.' + base64url(allekirjoitus); Kelpaa, jos (exp > now) AND (nbf <= nyt TAI nbf undefined)

Muuttujan selitys

▾
SymboliNimiYksikköKuvaus
headerOtsikkoJSONToken-otsikko, joka sisältää algoritmin (alg) ja tyypin (typ). Algoritmit: HS256 (HMAC-SHA256), RS256 (RSA-SHA256), ES256 (ECDSA-P256-SHA256), PS256 (RSA-PSS-SHA256). Tyyppi on yleensä "JWT", mutta se voidaan jättää pois.
payloadHyötykuorma (vaatimukset)JSONToken väittää olevansa JSON-objekti. Vakiovaatimukset (sub, exp, iat, nbf, iss, aud, jti) noudattavat RFC 7519:ää. Mukautetut vaatimukset ovat sovelluskohtaisia ​​(user_id, roolit, oikeudet, organisaation_tunnus).
expVanhenemisaikaUnix timestamp (seconds)Unix-aikaleima, kun tunnus vanhenee. Tunnus on virheellinen, jos nykyinen aika >= exp. Vakiokäytäntö: lyhytikäinen (15-60 min) pääsytokeneille, pidempi (päiviä-viikkoja) päivitystokeneille.
iatMyönnetty kloUnix timestamp (seconds)Unix-aikaleima, kun tunnus myönnettiin. Käytetään merkkien iän seurantaan ja toistohyökkäysten havaitsemiseen (vertaa iat:n peruutettujen tokenien tietokantaan).
nbfEi EnnenUnix timestamp (seconds)Tunnus on virheellinen ennen tätä aikaleimaa. Valinnainen vaatimus. Käytetään tunnuksissa, jotka myöntävät käyttöoikeuden tulevasta ajasta alkaen (esim. ajoitettu käyttöoikeus).
subAihestringKenestä/mistä tokenista on kyse. Tyypillisesti käyttäjätunnus, sähköpostiosoite tai vakaa tunniste. Pitäisi olla ainutlaatuinen liikkeeseenlaskijan nimiavaruudessa.

Kuinka JWT Decoder & Expiry Calculator

▾
  1. 1Vaihe 1 – Liitä JWT-tunnus: Kopioi koko tunnus (yleensä pitkä merkkijono, joka alkaa eyJ:llä, koska eyJ on base64url-koodaus '{':lle, joka aloittaa JSON-otsikon). Tunnusmerkit ovat yleensä 100–2000+ merkkiä pitkiä hyötykuorman koosta riippuen.
  2. 2Vaihe 2 – Token-rakenteen vahvistaminen: Laskin jakaa tunnuksen jaksoiksi. Kelvollisessa JWT:ssä on täsmälleen 3 osaa: otsikko, hyötykuorma, allekirjoitus. Jos splitit eivät tuota 3 osaa, merkki on väärin muotoiltu. Yleisiä syitä: katkaisu kopioinnin ja liittämisen aikana, puuttuvat osat API-vastauksissa tai muut kuin JWT-tunnukset (jotkut sovellusliittymät käyttävät läpinäkymättömiä tunnuksia, jotka eivät ole JWT:itä).
  3. 3Vaihe 3 – Base64url-dekoodaus: Jokainen osa on base64url-dekoodattu. Base64url on URL-osoitteelle turvallinen muunnos base64:stä, joka käyttää - ja _ merkkien + ja / sijasta ja jättää täytteen (= pois). Nykyaikaisten selainten atob()-funktio käsittelee base64:ää, mutta vaatii muunnoksen: - → +, _ → /, lisää täyte. Jos dekoodaus epäonnistuu, tunnus on vioittunut.
  4. 4Vaihe 4 – JSON-jäsennys: Dekoodatun otsikon ja hyötykuorman tulee olla kelvollisia JSON-objekteja. Jos JSON.parse epäonnistuu, tunnuksen sisältö on vioittunut tai tämä ei ole tavallinen JWT. Jotkut vanhat järjestelmät käyttävät "JWT:n kaltaisia" muotoja binaarisen tai muun kuin JSON-sisällön kanssa, jota ei pureta täällä.
  5. 5Vaihe 5 – Vaatimusten purkaminen ja analysointi: Laskin poimii vakiovaatimukset (exp, iat, nbf, sub, iss, aud) ja näyttää ne ihmisen luettavassa muodossa. exp ja iat muunnetaan Unix-aikaleimoista päivämääriksi. Mukautetut vaatimukset näkyvät täyden hyötykuorman JSON-tiedostossa tarkastettavaksi.
  6. 6Vaihe 6 — Vanhenemistilan laskenta: Nykyinen aika (nyt) verrattu voimassaoloajan vaatimukseen. Tilaluokat: VOIMASSA (voimassa > nyt + 7 päivää), PÄÄTTYY PIAN (voimassa > nyt, mutta < 7 päivää), PÄÄTTYNYT (voimassa < nyt, näkyy päivää sitten), EI KYLLÄ VOIMASSA (nbf > nyt, tunnus on myöhempää käyttöä varten). Jäljellä olevat päivät näytetään kontekstia varten.
  7. 7Vaihe 7 – Allekirjoituksen näyttö (EI vahvistettu): Kolmas segmentti (allekirjoitus) näytetään, mutta sitä ei ole koskaan vahvistettu tällä työkalulla. Vahvistus vaatii salaisuuden (HMAC-algoritmeille) tai julkisen avaimen (epäsymmetrisille algoritmeille), ja se tulee tehdä palvelinpuolella käyttämällä oikeaa JWT-kirjastoa. Älä koskaan luota tuotantokoodin vahvistamattomaan JWT-sisältöön.

Ratkaistut esimerkit

▾
Esimerkki 1Normaali kelvollinen JWT OAuth2-palveluntarjoajalta
Annettu:Tunniste, jossa exp=1709999999, iat=1516239022, sub='1234567890', alg='HS256'
Tulos:Voimassa, HS256, aihe 1234567890, päättyy 9. maaliskuuta 2024

Tyypillinen lyhytaikainen käyttöoikeuskoodi purettu onnistuneesti

Tämä on tavallinen JWT.io-esimerkkitunnus. Otsikko ilmoittaa HS256-algoritmin ja JWT-tyypin. Hyötykuormassa on käyttäjätiedot (sub, nimi) sekä ajoitus (iat, exp). Tila riippuu nykyisestä päivämäärästä suhteessa exp. Näytetty allekirjoitus on paikkamerkki – oikeilla tunnuksilla on kelvolliset HMAC-allekirjoitukset, jotka on laskettu myöntäjän salaisuudella.

Esimerkki 2Vanhentunut tunnus
Annettu:Tunnus, jonka exp on mennyt (esim. viime kuussa)
Tulos:EXPIRED-tila, päivät vanhenemisesta näytetään, isExpired=true

Yleinen virheenkorjausskenaario – tunnus hylätty, koska se on vanhentunut

Useimmat kelvollisen näköisiä tunnuksia koskevat todennusvirheet ovat vain vanhenemista. Laskin näyttää tarkalleen kuinka monta päivää vanhenemisesta on kulunut. Korjaus: päivitä tunnus käyttämällä refresh_token-päätepistettä (OAuth2) tai todenna se uudelleen. Tuotantokoodin tulee päivittää pääsytunnukset automaattisesti 5–10 minuuttia ennen exp kilpailuolosuhteiden välttämiseksi.

Esimerkki 3Väärin muotoiltu tunnusvirhe
Annettu:Tokenista puuttuu allekirjoitusosa (vain 2 segmenttiä)
Tulos:Virhe – Virheellinen JWT-muoto (täytyy sisältää 3 osaa erotettuina pisteillä)

Sieppaa katkaistut tai muut kuin JWT-tunnukset ennen jatkokäsittelyä

Tokenit, jotka on kopioitu epätäydellisesti tai API-liittymistä, jotka palauttavat muita kuin JWT-muotoja (läpinäkymättömät tunnukset, tavalliset JWE-salatut blobit) eivät kelpaa validointiin. Laskimen virheilmoitus opastaa käyttäjiä tarkistamaan tunnuksen eheyden. Yleisiä syitä: rivien rivitys kopioinnin aikana, osittainen vastaus API:sta tai läpinäkymättömien OAuth-tunnusten (jotkin Microsoftin päätepisteet), jotka eivät ole JWT:itä, käyttö.

Esimerkki 4Tunnus nbf:llä tulevaisuudessa (aikataulutettu käyttö)
Annettu:Tunnus, jossa on nbf=tuleva päivämäärä ajoitettua käyttöönottoa varten
Tulos:NOT YET VALID status — merkkiä ei voi käyttää ennen kuin nbf

Harvinainen tapaus viivästyneelle valtuutukselle

Jotkut järjestelmät myöntävät tunnuksia, jotka tulevat voimaan myöhemmin (esim. ajoitettu pääsy kokoukseen, aikalukittu sisältö). nbf (ei ennen) estää ennenaikaisen käytön. Useimmat JWT-kirjastot kunnioittavat nbf:tä ja hylkäävät tokeneita ennen tätä aikaa. Jos näet tämän tilan, merkki ei ole rikki – se ei ole tarkoituksella vielä voimassa.

Käytännön sovellukset

▾
🏗️

Todennusongelmien virheenkorjaus tarkastamalla token-vaatimukset ja vanhenemisen ajoitus

🔬

OAuth2/OIDC-tunnusten vahvistaminen integroinnin aikana palveluntarjoajien, kuten Auth0, Okta, AWS Cognito tai Clerk, kanssa

📊

Selvitä, mitä käyttäjätietoja on koodattu kolmannen osapuolen sovellusliittymiltä saatuihin tunnuksiin

🏥

Luodaan järjestelmänvalvojan työkaluja, joiden on tarkistettava käyttäjän istuntotunnisteet tukitarkoituksiin

⚙️

JWT-rakenteen oppiminen suunnitteluhaastatteluja ja turvatarkastuksia varten

Tavalliset JWT-vaatimukset (RFC 7519)

▾
VäiteNimiPakollinenTarkoitus
issLiikkeeseenlaskijaValinnainenKuka myönsi tunnuksen (esim. identiteetintarjoajan URL-osoite)
subAiheValinnainenKenestä tunnus koskee (yleensä käyttäjätunnus)
audYleisöValinnainenKenen tulee hyväksyä tunnus (sovellusliittymäsi)
expVanheneminenSuositeltavaKun tunnus ei kelpaa
nbfEi EnnenValinnainenMilloin tunnus tulee voimaan (tuleva aikataulu)
iatMyönnetty kloSuositeltavaKun tunnus luotiin
jtiJWT IDValinnainenTokenin yksilöllinen tunniste (toiston estämiseksi)

Usein kysytyt kysymykset

▾
Q

Onko JWT-dekoodaus sama asia kuin varmennus?

A

Ei. Dekoodaus poimii sisällön, jonka kuka tahansa voi lukea – otsikko ja hyötykuorma ovat vain base64url-koodattuja, ei salattuja. Vahvistus tarkistaa salauksen allekirjoituksen salaisella (HMAC-algoritmit) tai julkisella avaimella (RSA/ECDSA-algoritmit) varmistaakseen, ettei tunnukseen ole peukaloitu. Tarkista aina ennen kuin luotat tunnuksen sisältöön tuotannossa. Tämän työkalun kaltaiset dekooderit on tarkoitettu virheenkorjaukseen, ei todennukseen.

Q

Mihin minun pitäisi tallentaa JWT:t selainsovelluksissa?

A

Käytä httpOnly suojattuja evästeitä, ei localStoragea tai sessionStoragea. localStorage on haavoittuvainen XSS:lle – mikä tahansa injektoitu komentosarja voi lukea kaikki tallennetut tunnukset ja suodattaa ne. httpOnly evästeet eivät ole JavaScriptin käytettävissä, ja ne tarjoavat sisäänrakennetun CSRF-suojauksen, kun asetuksena on SameSite=Strict tai SameSite=Lax. Käytä mobiilisovelluksissa alustan suojattua tallennustilaa (iOS Keychain, Android Keystore).

Q

Kuinka pitkä JWT:n voimassaolon pitäisi olla?

A

Lyhytaikaiset käyttöoikeudet (15–60 minuuttia) yhdistettynä pidempiin päivitystunnuksiin (päivistä viikkoihin). Vältä tunnuksia, jotka eivät vanhene – kerran myönnettyjä tunnuksia ei voi peruuttaa ilman mustaa listaa (joka kumoaa JWT:n kansalaisuudettoman edun). Yleiset mallit: 15 minuutin käyttöoikeus + 30 päivän päivitys verkkosovelluksille; 1 tunnin käyttöoikeus + 90 päivän päivitys mobiilisovelluksille; 5 minuutin käyttöoikeus + tunnuksen kierto erittäin turvallisille sovelluksille.

Q

Mitä eroa on JWT:llä ja OAuth2:lla?

A

OAuth2 on valtuutusprotokolla (miten asiakkaat saavat luvan); JWT on token-muoto. OAuth2 voi käyttää JWT:itä käyttöoikeuksina (yleisin nykyään) tai läpinäkymättöminä tunnuksina (Microsoftin vanhemmat vuot). JWT:t toimivat myös OAuth2:n ulkopuolella — suoraa API-todennusta, maagisia linkkejä ja salasanan palautustunnisteita varten. Ne ovat toisiaan täydentäviä tekniikoita, eivät kilpailijoita.

Q

Pitäisikö minun käyttää HS256 vai RS256?

A

RS256 (epäsymmetrinen RSA) hajautetuille järjestelmille, joissa useat palvelut vahvistavat tokeneita – jokaisella voi olla julkinen avain, vain myöntäjä tarvitsee yksityisen avaimen. HS256 (symmetrinen HMAC) yhden palvelun sovelluksille, joissa sama palvelu antaa ja varmistaa – yksinkertaisempi avainten hallinta. Useimmat identiteetin tarjoajat käyttävät oletusarvoisesti RS256:ta. Algoritmin valinta on osa turva-asentasi.

Q

Mikä on JWT:n enimmäiskoko?

A

Teknisesti rajaton, mutta käytännön rajoitukset ovat voimassa. HTTP-otsikon raja (yleensä yhteensä 8 kt) rajoittaa valtuutusotsikon kautta lähetettäviä tunnuksia. Evästeen kokorajoitus (~4 kt per eväste) rajoittaa tallennustilaa. Useimmat tuotannossa olevat JWT:t ovat 500-2000 merkin pituisia. Jos JWT:si ylittää 4 kt, sinulla on liikaa mukautettuja vaatimuksia – harkitse käyttäjätietojen hakemista tietokannasta käyttämällä sen sijaan vain subia.

Yleisiä virheitä vältettäväksi

▾
  • !Hämmentävä dekoodaus ja tarkistaminen - tämä työkalu vain purkaa; allekirjoituksen vahvistus vaatii salausavaimen, ja se tulee tehdä palvelinpuolella JWT-kirjaston avulla.
  • !Luota vahvistamattomaan JWT-sisältöön turvallisuuspäätöksissä – kuka tahansa voi väärentää pätevän näköisen tunnuksen; koskaan valtuuta ilman vahvistusta.
  • !JWT:iden tallentaminen paikalliseen tallennustilaan arkaluontoisten tietojen kanssa – alttiina XSS-hyökkäyksille; käytä httpOnly suojattuja evästeitä tuotantoselainsovelluksissa.
  • !Unohda käsitellä kellon vinoutta – salli 30–60 sekunnin toleranssi exp/nbf-vertailuissa hajautettujen palvelimien välillä.
  • !Pitkäikäisten JWT:iden käyttäminen ilman kiertoa – kerran myönnettyjä JWT:itä ei voida helposti peruuttaa; käytä lyhytaikaista pääsyä + päivitä tunnuksen kiertokuviota.
💡

Ammattilaisen vinkki

Käytä päivitystunnuksen kiertoa tuotannossa – jokainen päivitys antaa uuden parin ja mitätöi vanhan. Tämä rajoittaa räjähdyssädettä, jos virkistystunnus varastetaan, ja havaitsee varkauden, kun varastettu vanha merkki yrittää käyttää kierron jälkeen. Suuret palveluntarjoajat (Auth0, Okta, Cognito) tukevat tätä mallia heti.

⭐

Tiesitkö?

JWT-spesifikaatio (RFC 7519) valmistui toukokuussa 2015 useiden vuosien luonnosten tarkistusten jälkeen. Se kehittyi aiemmista ponnisteluista, mukaan lukien SWT (Simple Web Token) Microsoftissa ja JOSE (JSON Object Signing and Encryption) IETF:ssä. Käytännössä jokaisen JWT:n alussa oleva eyJ-etuliite on base64url-koodaus '{'' – minkä tahansa JSON-objektin avaus. Tämä kuvio tekee JWT:t visuaalisesti tunnistettavissa yhdellä silmäyksellä.

📖Vaikeustaso:Keskitaso
Mathematically verified
Reviewed October 2026
Our methodology

Hanki viikoittaisia ​​matematiikkavinkkejä

Liity 12 000+ tilaajien joukkoon, jotka saavat laskurivinkkejä joka viikko.

🔒
100% Ilmainen
Ei rekisteröintiä
✓
Tarkka
Vahvistetut kaavat
⚡
Välitön
Tulokset heti
📱
Mobiiliystävällinen
Kaikki laitteet

Asetukset

YksityisyysEhdotTietoja© 2026 PrimeCalcPro