JWT dekódoló

Illessz be egy JSON Web Tokent, hogy elolvasd a headerjét és a payloadját, lásd, mikor jár le, és megértsd az összes claimet. A tokened sosem hagyja el a böngésződet.

A böngésződben futNincs regisztrációNincs feltöltés

A dekódolás nem ellenőrzés. Egy JWT headerjét és payloadját bárki elolvashatja, mert csak base64url-kódolásúak. Ez az eszköz azt mutatja meg, amit a token állít; azt nem bizonyítja, hogy a token valódi. Az aláírást mindig a szervereden ellenőrizd.

Header

Payload


      

Aláírás ellenőrzése (opcionális, HS256/HS384/HS512)

HMAC-aláírást ellenőriz a megadott titokkal, a böngésződ Web Crypto API-ját használva. A titok sosem hagyja el ezt az oldalt. Az RSA/ECDSA tokenekhez a kibocsátó nyilvános kulcsa kell, ezeket itt nem ellenőrizzük.

Hogyan használd: JWT dekódoló

  1. Illeszd be a tokent a Kódolt token mezőbe. Az Authorization headerből származó Bearer előtagot figyelmen kívül hagyjuk.
  2. A header és a payload azonnal dekódolódik, és formázott JSON-ként jelenik meg.
  3. Nézd meg A claimek magyarázata táblázatot: az exp, iat és nbf dátumokká alakulnak, „lejár ennyi idő múlva” / „ennyi ideje lejárt” megjelöléssel.
  4. Az állapotsorban ellenőrizd a lejárati problémákat, a figyelmeztetésekben pedig a kockázatos beállításokat, például az alg: none értéket.
  5. Opcionálisan add meg a közös titkot, hogy helyben ellenőrizd a HS256, HS384 vagy HS512 aláírást.

Mi van egy JWT-ben?

A JSON Web Token (RFC 7519) három, pontokkal összefűzött base64url string: header.payload.signature. A header megnevezi az aláíró algoritmust (alg) és a token típusát. A payload tartalmazza a claimeket, például hogy ki a felhasználó, és mikor jár le a token. Az aláírást az első két részből számítják ki egy titokkal vagy privát kulccsal.

A dekódolás nem ellenőrzés

A header és a payload csak kódolt, nem titkosított, így bárki elolvashatja, akinél a token van. Ezért soha ne tegyél jelszót vagy titkot egy JWT payloadjába. A dekódolás megmondja, mit állít egy token. Az aláírás ellenőrzése, jellemzően az API-szervereden egy olyan könyvtárral, mint a jose vagy a PyJWT, bizonyítja, ki bocsátotta ki, és hogy nem módosították. A szervernek az exp, nbf, iss és aud értékét is ellenőriznie kell, és el kell utasítania a nem várt algoritmusokat.

Regisztrált claimek puskája

ClaimJelentés
issKibocsátó (issuer): ki hozta létre és írta alá a tokent
subAlany (subject): általában a felhasználói azonosító
audKözönség (audience): melyik API-nak szól a token
expLejárati idő, másodpercben a Unix epoch óta
nbfEzen időpont előtt nem érvényes
iatKiállítás ideje
jtiEgyedi tokenazonosító, visszavonási listákhoz hasznos

A „token expired” hibák kivizsgálása

Ha egy API elutasít egy frissnek tűnő tokent, vesd össze az exp és nbf értékét a szerver órájával. A gépek közötti kis óraeltérés gyakori, ezért a legtöbb könyvtár 30-60 másodperc tűréshatárt enged. Azt is ellenőrizd, hogy az exp másodpercben van-e: az ezredmásodperces érték gyakori hiba, és több ezer évvel a jövőbe tolja a lejáratot.

Gyakran ismételt kérdések

Biztonságos ide beilleszteni egy éles JWT-t?
A dekódolás teljes egészében a böngésződben, JavaScripttel történik. A tokent nem töltjük fel, nem naplózzuk és nem tároljuk. Mint minden hitelesítő adatot, az élő tokeneket is kezeld óvatosan, és képernyőképek megosztásakor inkább lejárt vagy teszttokeneket használj.
Ellenőrzi ez az eszköz a JWT aláírását?
Maga a dekódolás nem. A HS256, HS384 és HS512 tokeneket opcionálisan ellenőrizheted a közös titok megadásával; a HMAC-et helyben, a Web Crypto API-val számoljuk. Az RS256 és ES256 tokeneket a kibocsátó nyilvános kulcsával a szervereden kell ellenőrizni.
Miért jelenik meg a tokenem lejártként?
Az exp claim a számítógéped órájához képest a múltban van. Kérj új tokent, vagy frissítsd a refresh tokeneddel. Ha az időpontok hibásnak tűnnek, nézd meg, nincs-e óraeltérés, vagy nem ezredmásodpercben van-e megadva az exp érték.
Mi a különbség a JWT, a JWS és a JWE között?
A JWT a claimek formátuma. A JWS egy háromrészes, aláírt JWT; ezt dekódolja ez az eszköz. A JWE egy ötrészes, titkosított JWT; a payloadja a visszafejtő kulcs nélkül nem olvasható.
Miért veszélyes az alg „none”?
Egy aláíratlan tokent bárki hamisíthat. A szervereknek el kell utasítaniuk az alg: none értéket, és csak azt a konkrét algoritmust szabad elfogadniuk, amelyet várnak.

Kapcsolódó eszközök