Pereiti prie pagrindinio turinio

JWT dekoduotuvas nemokamai

Dekoduokite ir tikrinkite bet kurį JSON žiniatinklio prieigos raktą. Peržiūrėkite antraštę, naudingąją apkrovą, galiojimo pabaigą ir standartinius teiginius. Viskas veikia lokaliai jūsų naršyklėje — prieigos raktai niekada nepalieka jūsų įrenginio.

Veikia neprisijungus, kai įkeliama

🔒 Raktas dekoduojamas visiškai jūsų naršyklėje. Niekas nesiunčiama jokiam serveriui.

Dažniausi naudojimo būdai

  • Nuolaužaite autentifikacijos problemas naudodami JWT dekoderinįInspektuokite JWT iš programos, norėdami nuolaužo priežastis, leidimų problemas ir žetono baigtinumo problemas.
  • Inspektuokite API žetonus bandant galinius taškusDekodifikuokite JWT grąžintus jūsų API, norėdami patikrinti, ar suteikti teisingi teiginiai, sritys ir leidimai.
  • Saugos audito JWT žetonaiPeržiūrėkite JWT kaip saugos audito dalį — patikrinkite silpnus pasirašymo algoritmus, per didelę žetono gyvavimo trukmę arba jautrų duomenis krovinį.
  • Inspektuokite OAuth ir OpenID Connect žetonusDekodifikuokite prieigos žetonus, ID žetonus ir atnaujino žetonus iš Google, Auth0, Okta, Microsoft ir kitų OAuth tiekėjų.
  • Sužinokite, kaip veikia JWT žetonaiDekodifikuokite JWT pavyzdžius, norėdami suprasti struktūrą: antraštę, krovinį ir pasirašymą. Žr. realaus pasaulio teiginio pavyzdžius.

Kaip tai veikia

Dekoderis yra rankomis parašytas, jokių priklausomybių neturintis analizatorius, kuris veikia visiškai jūsų naršyklėje: jis padalija žetoną pagal taškus, konvertuoja kiekvieną Base64URL segmentą į paprastą Base64, naudodamas eilutės pakeitimą, ir užpildo jį iki keturių kartotinio, tada iškviečia naršyklės natyvų atob() ir JSON.parse, kad atkurtų antraštės ir turinio objektus. Pasirenkamas parašo tikrinimas naudoja Web Crypto API (crypto.subtle.verify) — jokios bibliotekos, jokio serverio.

  1. 1
    Base64URL dekodavimas
    Įrankis padalija JWT pagal du taško skirtukus, gaudamas tris segmentus. Kiekvienas segmentas yra Base64URL — kuris naudoja - ir _ vietoj + ir / ir praleidžia užpildą. Kodas pakeičia tuos simbolius atgal ir užpildo = ženklais, tada iškviečia naršyklės įtaisytą atob(), kad dekoduotų baitus.
  2. 2
    JSON analizavimas ir teiginių išgavimas
    Dekoduoti baitai perduodami per JSON.parse, kad sukurtų antraštės ir turinio objektus. Registruoti teiginiai exp, iat ir nbf išgaunami kaip Unix laiko žymos ir konvertuojami į Date objektus; galiojimo statusas iš naujo tikrinamas kas 20 sekundžių per setInterval, todėl žetonas, kuris pasibaigia, kol skirtukas atvertas, automatiškai pereina iš galiojančio į pasibaigusį. Santykinės laiko žymos ('po 3 dienų', 'prieš 2 valandas') formatuojamos su Intl.RelativeTimeFormat, naudojant jūsų naršyklės kalbos regioną.
  3. 3
    Parašo rodymas ir pasirenkamas tikrinimas
    Neapdorota Base64URL parašo eilutė rodoma kartu su antrašte ir turiniu. Jei pateikiate raktą, įrankis iškviečia crypto.subtle.importKey ir crypto.subtle.verify, kad patikrintų parašą vietoje. Jis priima HMAC bendras paslaptis (HS256/384/512), PEM koduotus RSA viešuosius raktus (RS256/384/512) ir ECDSA viešuosius raktus ar JWK/JWKS objektus (ES256/384/512) — nustatomus pagal alg lauką antraštėje.
  4. 4
    Jokių tinklo užklausų
    Kiekvienas žingsnis — dekodavimas, laiko žymų matematika ir kriptografinis patikrinimas — vyksta naršyklės JavaScript variklyje. Žetonas ir bet koks jūsų įvestas raktas niekada nepalieka jūsų įrenginio.

JWT dažnai neša seanso kredencialus, vartotojo tapatybę ir autorizacijos apimtis; šis įrankis juos dekoduoja ir pasirinktinai patikrina visiškai jūsų naršyklėje, naudodamas atob() ir Web Crypto API, todėl nei žetonas, nei bet koks jūsų pateiktas raktas niekur neperduodami.

Susiję įrankiai

Dažnai užduodami klausimai