JWT tokenas

Kas yra JWT ir ką parodo dekodavimas?

JSON Web Token — tai trys taškais atskirtos base64url dalys: header.payload.signature. Header nurodo pasirašymo algoritmą, payload saugo claims, tokius kaip sub, exp ir iat, o parašas patvirtina, kad pirmosios dvi dalys nebuvo pakeistos. Dekodavimas — tai tiesiog pirmųjų dviejų dalių base64url dekodavimas: tai gali padaryti bet kas, ir tam niekada nereikia rakto.

Tokenas, prasidedantis eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9, dekoduojamas į header {"alg":"HS256","typ":"JWT"}. Jo payload, pavyzdžiui {"sub":"42","exp":1735689600}, rodo naudotoją 42 su galiojimu iki 2025 m. sausio 1 d. Trečioji dalis — parašas: čia rodomas, bet netikrinamas. Be HMAC paslapties ar RSA/ECDSA viešojo rakto ši naršyklėje veikianti priemonė negali įrodyti parašo tikrumo, todėl niekada nelaikykite dekoduoto tokeno patikimu.

Kaip dekoduoti JWT

  1. Įklijuokite visą tokeną į lauką JWT.
  2. Skaitykite dekoduotą Header ir Payload kaip JSON.
  3. Patikrinkite exp ir iat reikšmes, rodomas kaip suprantamas datas ir pažymimas pasibaigus.
  4. Nukopijuokite bet kurią dalį arba išvalykite lauką ir išbandykite kitą tokeną.

Dažni klausimai apie JWT dekodavimą

Ar priemonė tikrina parašą?

Ne. Ji tik dekoduoja ir rodo header, payload ir parašą. Patikrinimui reikia paslapties ar viešojo rakto, kurio šis naršyklės dekoderis sąmoningai niekada negauna.

Ar saugu čia įklijuoti tokeną?

Dekodavimas vyksta visiškai jūsų naršyklėje ir nieko neįkeliama. Vis dėlto neklijuokite produkcijos tokenų į jokią internetinę priemonę — tikras tokenas yra galiojantis prisijungimo duomuo.

Ką reiškia exp ir iat?

Abu yra Unix laiko žymos sekundėmis: iat — kada tokenas išduotas, exp — kada baigiasi. Priemonė paverčia juos datomis ir pažymi pasibaigusį tokeną.

Grįžti į pradžią