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
A claimek magyarázata
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ó
- Illeszd be a tokent a Kódolt token mezőbe. Az Authorization headerből származó
Bearerelőtagot figyelmen kívül hagyjuk. - A header és a payload azonnal dekódolódik, és formázott JSON-ként jelenik meg.
- Nézd meg A claimek magyarázata táblázatot: az
exp,iatésnbfdátumokká alakulnak, „lejár ennyi idő múlva” / „ennyi ideje lejárt” megjelöléssel. - 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. - 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
| Claim | Jelentés |
|---|---|
iss | Kibocsátó (issuer): ki hozta létre és írta alá a tokent |
sub | Alany (subject): általában a felhasználói azonosító |
aud | Közönség (audience): melyik API-nak szól a token |
exp | Lejárati idő, másodpercben a Unix epoch óta |
nbf | Ezen időpont előtt nem érvényes |
iat | Kiállítás ideje |
jti | Egyedi 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?
Ellenőrzi ez az eszköz a JWT aláírását?
Miért jelenik meg a tokenem lejártként?
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?
Miért veszélyes az alg „none”?
alg: none értéket, és csak azt a konkrét algoritmust szabad elfogadniuk, amelyet várnak.