Etsi työkaluja

Pikahaku työkaluihin

JWT:n vahvistus

Vahvista, onko JWT-tunnuksen allekirjoitus voimassa.100% paikallinen käsittely, ei latauksia, ei riskejä.

Mikä on JWT?
JWT (JSON Web Token) on avoin standardi (RFC 7519), joka määrittelee kompaktin ja itsenäisen tavan tiedon turvalliseen siirtämiseen osapuolten välillä. Tätä tietoa voidaan vahvistaa ja luottaa siihen, koska se on digitaalisesti allekirjoitettu.
JWT:n rakenne
JWT koostuu kolmesta osasta, jotka on erotettu pisteellä (.): otsikko (Header), hyötykuorma (Payload) ja allekirjoitus (Signature). Otsikko määrittää allekirjoitusalgoritmin, hyötykuorma sisältää väitteet ja allekirjoitus vahvistaa, että viestiä ei ole muutettu.
Yleiset JWT:n käyttötapaukset
Todennus (yleisin käyttötapaus), tiedonvaihto (JWT voi siirtää tietoa turvallisesti, koska ne voidaan allekirjoittaa), valtuutus (sisältää käyttäjän käyttöoikeustiedot) ja yksittäisen kirjautumisen toteuttaminen.
Allekirjoitusalgoritmien tyypit
JWT tukee useita allekirjoitusalgoritmeja, jotka jaetaan pääasiassa kahteen luokkaan: HMAC-pohjaiset symmetriset algoritmit (kuten HS256) ja RSA/ECDSA-pohjaiset epäsymmetriset algoritmit (kuten RS256, ES256). Symmetriset algoritmit käyttävät samaa avainta allekirjoittamiseen ja vahvistamiseen, epäsymmetriset algoritmit käyttävät yksityistä avainta allekirjoittamiseen ja julkista avainta vahvistamiseen.
Turvallisuusvinkkejä
Älä tallenna herkkää tietoa (kuten salasanoja) JWT:ssä, koska JWT:n hyötykuormaosa on vain Base64-koodattu, ei salattu. Korkean turvallisuuden vaativissa sovelluksissa suositellaan lyhyitä vanhenemisaikoja ja tunnusten kiertostrategian toteuttamista.
Mitä tehdä, kun JWT vanhenee?
Kun JWT vanhenee, palvelin hylkää tämän tunnuksen. Suositeltava tapa on toteuttaa päivitystunnus (Refresh Token) -mekanismi, jossa asiakas käyttää päivitystunnusta uuden käyttöoikeustunnuksen saamiseksi ilman, että käyttäjän tarvitsee kirjautua uudelleen. Päivitystunnuksella on yleensä pidempi voimassaoloaika, mutta sitä tulisi säilyttää varovasti.
Kuinka peruuttaa JWT?
Tiukasti ottaen JWT on suunniteltu tilattomaksi tunnukseksi, jota ei voi todella peruuttaa. On kuitenkin useita yleisiä ratkaisuja: ylläpidä peruutettujen tunnusten mustaa listaa (mikä voi kumota JWT:n tilattoman luonteen edut), käytä lyhyitä vanhenemisaikoja yhdessä päivitystunnusten kanssa tai upota tunnukseen versiotunniste, jolloin palvelin voi hylätä vanhat versiot.
Ero JWT:n ja istunnon välillä?
JWT on itsenäinen tunnus, joka sisältää kaikki tarvittavat tiedot, sopii hajautettuihin järjestelmiin eikä vaadi palvelimen tallentamaan istunnon tilaa. Istunto perustuu palvelinpuolen tallennukseen, vaatii istunnon tilan ylläpidon ja sopii paremmin yksittäiseen palvelinarkkitehtuuriin. JWT on laajennettavampi, mutta peruuttaminen on monimutkaista; istunto on helppo peruuttaa, mutta laajennettavuus on heikompaa.