Ingyenes konverter

JWT token Dekóder

A JWT (JSON Web Token) fejléc dekódolása és a rakomány azonnali megfejtése a böngészőben. Ingyenes, privát és kliensoldali – egyetlen szerverre sem küldenek adatokat.

Az eszközről

A JSON Web Tokenek (JWT) az RFC 7519 által meghatározott, kompakt, URL-biztos formátum két fél közötti követelések továbbítására. A JWT három, base64url kódolású szegmensből áll, amelyeket pontok választanak el egymástól: fejléc (algoritmus és token típusa), hasznos adat (követelések) és aláírás (kriptográfiai hitelesség-igazolás). A fejléc és a hasznos adat JSON, base64url kódolású az URL biztonsága érdekében; az aláírás a számos algoritmus (HS256, RS256, ES256 és mások) egyikét használja a kódolt fejlécen és a hasznos terhelésen keresztül.

A JWT dekódolása – szegmensekre bontása és mindegyik base64 dekódolása – nem igényel semmilyen titkot. Bárki, aki rendelkezik a token szövegével, elolvashatja a fejlécét és a hasznos adatokat. Az aláírás azonban csak titkos (HMAC) vagy nyilvános (aszimmetrikus) kulccsal ellenőrizhető. A dekódolás ellenőrzésre szolgál; az ellenőrzés az, ami a hitelességet bizonyítja.

Ez a dekódoló felosztja a tokent, a base64 dekódolja az egyes szegmenseket, JSON-ként elemzi a fejlécet és a hasznos terhelést, és megjeleníti az eredményt. Nem kísérli meg az aláírás ellenőrzését, mert ehhez titkos vagy nyilvános kulcsra van szükség, amivel a dekóder nem rendelkezik. A dekódolt kimenet csak olvasható ellenőrzés – hasznos a tokenek hibakereséséhez, de nem helyettesíti az alkalmazáskód megfelelő ellenőrzését.

Miért a JWT-k dekódolása?

A hitelesítési problémák hibakeresése szinte mindig magában foglalja a tokenek ellenőrzését. A kódban érvényesnek tűnő token hibás követeléseket, váratlan algoritmust, lejárt exp időbélyeget vagy közönségeltérést tartalmazhat. A token dekódolása felfedi, hogy a kibocsátó pontosan mit produkált.

Az integrációs munka során a tokenek ellenőrzése is segít. Harmadik fél API-hoz vagy identitásszolgáltatóhoz való csatlakozáskor a tényleges jogcímnevek, formátumok és szerkezet a legjobban a minta tokenek dekódolásával érthető meg, nem pedig az esetleg elavult dokumentációra hagyatkozva.

Használati útmutató

Illessze be a tokent, és szerezze be az elemzett tartalmat.

  1. Illessze be a JWT-t: Dobja a teljes tokent (header.payload.signature) a beviteli területre. A dekóder elfogadja a tokeneket az opcionális Bearer előtaggal vagy anélkül.
  2. Vizsgálja meg a fejlécet: A fejléc az aláírási algoritmust (alg) és a token típusát (typ) mutatja. A gyakori algoritmusok a HS256, RS256 és ES256. Figyeld az algot: nincs, amely aláíratlan tokent jelez, és ritkán biztonságos a termelésben.
  3. Vizsgálja meg a hasznos terhet: A rakomány tartalmazza a következő követeléseket: iss (kibocsátó), sub (tárgy), aud (közönség), exp (lejárat), iat (kiállítás dátuma) és minden alkalmazás-specifikus követelés. A szabványos időbélyegek Unix epocha másodpercek.
  4. Ellenőrizd külön: A dekóder nem ellenőrzi az aláírást. A hitelesség ellenőrzéséhez futtassa a tokent egy JWT-könyvtáron keresztül az alkalmazás kódjában található megfelelő titkos vagy nyilvános kulccsal.

Gyakori használati esetek

Műszaki részletek

A JWT formátum három szegmensből áll, amelyeket pontok kötnek össze. Minden szegmens base64url-kódolású – a base64 URL-biztos változata, amely a + és / helyett a - és a _ jeleket használja, néha kihagyva a kitöltést. A dekódolás megköveteli az URL-biztonságos helyettesítések visszavonását, a szegmens kitöltését és a base64 dekódolást.

A fejléc és a hasznos adat a dekódolás után JSON. Az aláírás szegmens bináris (nyers aláírás bájt), és ember által nem olvasható; ahhoz, hogy az ellenőrző kulcs hasznos legyen.

Az RFC 7519-ben meghatározott gyakori követelések: iss (kibocsátó), sub (alany azonosítója), aud (közönség), exp (lejárat Unix korszak másodpercben), nbf (nem előtti időbélyeg), iat (időbélyeggel kibocsátva), jti (egyedi token azonosító). Az alkalmazásspecifikus követelések bármilyen néven megjelenhetnek.

Legjobb gyakorlatok

Gyakran ismételt kérdések

Biztonságos ide beilleszteni a JWT-met?
Igen. A dekódolás teljes egészében a böngészőben történik – a tokent soha nem küldi el egyetlen szerverre sem. A JWT-k azonban hitelesítő adatok – ne ossza meg őket nyilvánosan (képernyőképekben, Stack Overflow bejegyzésekben stb.), mivel hozzáférést biztosíthatnak fiókjaihoz.
Ez az eszköz ellenőrzi a JWT aláírást?
Ez az eszköz dekódolja és megjeleníti a token tartalmát. Az aláírás ellenőrzéséhez titkos kulcsra (HMAC) vagy nyilvános kulcsra (RSA/ECDSA) van szükség, amelynek a szerveren kell maradnia. Az eszköz megjeleníti a használt algoritmust, de nem tudja ellenőrizni a kulcs nélkül.
Mit jelentenek a szabványos JWT követelések?
iss = kibocsátó, sub = alany (felhasználói azonosító), exp = lejárati idő (Unix időbélyeg), iat = kibocsátás időpontja, nbf = nem korábban, aud = közönség, jti = JWT azonosító. Az egyéni követelések bármilyen alkalmazás-specifikus adatot tartalmazhatnak.
Miért tud bárki dekódolni egy JWT-t?
A JWT-k kódolva vannak, nem titkosítva. A hasznos adat Base64URL-kódolású (nem titkosított), így bárki elolvashatja. Az aláírás megakadályozza a manipulációt, nem az olvasást. Soha ne tároljon érzékeny adatokat (jelszavakat, SSN-eket) a JWT rakományokban.
Miért hiányzik egyes tokenekből az aláírás?
Tokenek alg-vel: egyiknek sincs aláírása. A specifikáció szerint érvényes JWT-k, de nem garantálnak eredetiséget, és nem fogadhatók el a gyártás során.
A JWT-k titkosítva vannak?
A szabványos JWT rakományok alá vannak írva, de nincsenek titkosítva. A JWE (JSON Web Encryption, RFC 7516) a titkosított tokenek külön formátuma. A legtöbb vadon élő JWT JWS (csak aláírt).
Fel van töltve a tokenem egy szerverre?
Nem. A dekódolás a böngészőben történik; a token nem hagyja el az eszközt.
Általában milyen hosszúak a JWT-k?
Bárhol, néhány száztól több ezer karakterig. A hossza a követelések számától és méretétől, valamint az aláírás hosszától függ (ami az algoritmustól függ).