Ilmainen muunnin

JWT Token Dekooderi

Pura JWT (JSON Web Token) -otsikko ja hyötykuorma välittömästi selaimessasi. Ilmainen, yksityinen ja asiakaspuoli – tietoja ei lähetetä millekään palvelimelle.

Tietoa tästä työkalusta

JSON Web Tokens (JWT) on RFC 7519:n määrittelemä kompakti, URL-osoiteturvallinen muoto väitteiden välittämiseen kahden osapuolen välillä. JWT on kolme base64url-koodattua segmenttiä, jotka on erotettu pisteillä: otsikko (algoritmi ja tunnuksen tyyppi), hyötykuorma (vaatimukset) ja allekirjoitus (salattu aitouden todistus). Otsikko ja hyötykuorma ovat JSON, base64url-koodattuja URL-osoitteen turvallisuuden vuoksi; allekirjoitus käyttää yhtä useista algoritmeista (HS256, RS256, ES256 ja muut) koodatun otsikon ja hyötykuorman yli.

JWT:n purkaminen — sen jakaminen segmentteihin ja kunkin base64-dekoodaus — ei vaadi mitään salaisuutta. Jokainen, jolla on tunnusteksti, voi lukea sen otsikon ja hyötykuorman. Allekirjoitus voidaan kuitenkin varmistaa vain salaisella (HMAC) tai julkisella avaimella (epäsymmetrinen). Dekoodaus on tarkastusta varten; todentaminen todistaa aitouden.

Tämä dekooderi jakaa tunnuksen, base64-dekoodaa jokaisen segmentin, jäsentää otsikon ja hyötykuorman JSON-muodossa ja näyttää tuloksen. Se ei yritä allekirjoituksen vahvistusta, koska se vaatii salaisen tai julkisen avaimen, jota dekooderilla ei ole. Dekoodattu tulos on vain luku -tarkistus – hyödyllinen merkkien virheenkorjauksessa, mutta se ei korvaa sovelluskoodin asianmukaista tarkistusta.

Miksi purkaa JWT:t

Todennusongelmien virheenkorjaus sisältää melkein aina tunnuksien tarkastamisen. Koodissa kelvolliselta näyttävässä tunnuksessa voi olla vääriä vaatimuksia, odottamaton algoritmi, vanhentunut exp-aikaleima tai yleisö ei täsmää. Tokenin dekoodaus paljastaa tarkalleen, mitä liikkeeseenlaskija on tuottanut.

Tokenien tarkastaminen integrointityön aikana auttaa myös. Kun muodostat yhteyden kolmannen osapuolen sovellusliittymään tai identiteetin tarjoajaan, todelliset vaatimuksen nimet, muodot ja rakenne ymmärretään parhaiten purkamalla esimerkkitunnisteet sen sijaan, että luottaisit dokumentaatioon, joka saattaa olla vanhentunut.

Käyttöohjeet

Liitä tunnus ja hae jäsennetty sisältö.

  1. Liitä JWT: Pudota koko tunnus (header.payload.signature) syöttöalueelle. Dekooderi hyväksyy rahakkeita valinnaisella Bearer-etuliitteellä tai ilman sitä.
  2. Tarkista otsikko: Otsikossa näkyy allekirjoitusalgoritmi (alg) ja token-tyyppi (typ). Yleisiä algoritmeja ovat HS256, RS256 ja ES256. Varo alg: ei mitään, mikä merkitsee allekirjoittamatonta merkkiä ja on harvoin turvallinen tuotannossa.
  3. Tarkista hyötykuorma: Hyötykuorma sisältää vaatimukset: iss (myöntäjä), sub (subject), aud (yleisö), exp (expiration), iat (myönnetty klo) ja kaikki sovelluskohtaiset vaatimukset. Vakioaikaleimat ovat Unix-aikaleimat.
  4. Tarkista erikseen: Dekooderi ei tarkista allekirjoitusta. Voit tarkistaa aitouden suorittamalla tunnuksen JWT-kirjaston läpi käyttämällä sovelluskoodissasi olevaa salaista tai julkista avainta.

Yleiset käyttötapaukset

Tekniset tiedot

JWT-muoto on kolme segmenttiä, jotka on yhdistetty pisteillä. Jokainen segmentti on base64url-koodattu – base64:n URL-suojattu muunnelma, joka käyttää - ja _ -merkkejä + ja / sijaan, mutta joskus täyttöjä jätetään pois. Koodauksen purkaminen edellyttää URL-osoitteen turvallisten korvausten kumoamista, segmentin täyttämistä ja base64-dekoodausta.

Otsikko ja hyötykuorma ovat JSON dekoodauksen jälkeen. Allekirjoitussegmentti on binäärinen (raaka allekirjoitustavu), eikä se ole ihmisen luettavissa; se vaatii vahvistusavaimen olevan hyödyllinen.

RFC 7519:ssä määritellyt yleiset väitteet: iss (myöntäjä), ala (aiheen tunniste), aud (yleisö), exp (vanheneminen Unix-epochin sekunteina), nbf (ei ennen aikaleima), iat (myönnetty aikaleima), jti (ainutlaatuinen tunnuksen tunnus). Sovelluskohtaiset väitteet voivat esiintyä millä tahansa nimellä.

Parhaat käytännöt

Usein kysytyt kysymykset

Onko turvallista liittää JWT tähän?
Kyllä. Koodauksen purku tapahtuu kokonaan selaimessasi – tokeniä ei koskaan lähetetä millekään palvelimelle. JWT:t ovat kuitenkin valtuustietoja – älä jaa niitä julkisesti (kuvakaappauksissa, Stack Overflow -viesteissä jne.), koska ne voivat antaa pääsyn tileillesi.
Vahvistaako tämä työkalu JWT-allekirjoituksen?
Tämä työkalu purkaa ja näyttää tunnuksen sisällön. Allekirjoituksen vahvistaminen vaatii salaisen avaimen (HMAC) tai julkisen avaimen (RSA/ECDSA), jonka pitäisi pysyä palvelimellasi. Työkalu näyttää käytetyn algoritmin, mutta ei voi vahvistaa ilman avainta.
Mitä tavalliset JWT-vaatimukset tarkoittavat?
iss = myöntäjä, ala = aihe (käyttäjätunnus), exp = vanhenemisaika (Unix-aikaleima), iat = myönnetty, nbf = ei ennen, aud = yleisö, jti = JWT-tunnus. Muokatut vaatimukset voivat sisältää mitä tahansa sovelluskohtaista tietoa.
Miksi kukaan voi purkaa JWT:n?
JWT:t ovat koodattuja, ei salattuja. Hyötykuorma on Base64URL-koodattu (ei salattu), joten kuka tahansa voi lukea sen. Allekirjoitus estää peukaloinnin, ei lukemisen. Älä koskaan tallenna arkaluontoisia tietoja (salasanoja, SSN:itä) JWT-hyötykuormiin.
Miksi joistakin tunnuksista puuttuu allekirjoitus?
Tokenit algilla: ei ole allekirjoitusta. Ne ovat voimassa olevia JWT:itä spesifikaation mukaan, mutta ne eivät takaa aitoutta, eikä niitä tule hyväksyä tuotantoon.
Ovatko JWT:t salattuja?
Tavalliset JWT-hyötykuormat on allekirjoitettu, mutta ei salattu. JWE (JSON Web Encryption, RFC 7516) on erillinen muoto salatuille tokeneille. Suurin osa luonnossa esiintyvistä JWT:istä on JWS (vain signeerattu).
Onko tunnukseni ladattu palvelimelle?
Ei. Dekoodaus tapahtuu selaimessasi. tunnus ei poistu laitteestasi.
Kuinka pitkiä JWT:t yleensä ovat?
Missä tahansa muutamasta sadasta useisiin tuhansiin merkkiin. Pituus riippuu vaatimusten lukumäärästä ja koosta sekä allekirjoituksen pituudesta (joka riippuu algoritmista).