JWT Dekoder — token ichida nima bor

JSON Web Token'ni ochib ko'ring: header, payload va muddati. Hammasi brauzeringizda, hech qayerga yuborilmaydi.

JWT token

Belgilar: 0Qismlar: 0

Bu token

Token qo'ying — ichidagi hammasi shu yerda ko'rinadi

Token brauzeringizdan chiqmaydi

JWT qanday tuzilgan

JSON Web Token — nuqta bilan ajratilgan uchta base64url qism. Birinchi ikkitasi oddiy JSON: ular imzolangan, ammo SHIFRLANMAGAN, ya'ni tokenni qo'lida ushlagan har kim ichidagini o'qiy oladi. Imzo esa faqat tokenning o'zgartirilmaganini isbotlaydi.

Header

Qaysi algoritm bilan imzolangan (alg) va nima turdagi token (typ). Ba'zan kalit identifikatori — kid — ham shu yerda bo'ladi.

Payload

Da'volar: kim, kimga, qachongacha. Ochiq matn, shuning uchun bu yerga hech qachon maxfiy ma'lumot solinmaydi.

Signature

Header va payload ustidan maxfiy kalit yoki xususiy kalit bilan olingan imzo. Faqat u tokenning haqiqiyligini isbotlaydi.

Standart da'volar (RFC 7519)

Da'voNomiMa'nosi
issIssuerTokenni kim bergan. Odatda auth serverning manzili; qabul qiluvchi tomon uni oq ro'yxat bilan solishtiradi.
subSubjectToken kim haqida. Ko'p tizimlarda bu foydalanuvchining ichki ID si — email emas, chunki email o'zgarishi mumkin.
audAudienceToken kimga atalgan. Boshqa xizmatning tokenini qabul qilmaslik uchun tekshiriladi.
expExpiration TimeQachondan keyin token qabul qilinmasligi kerak. Epochdan beri o'tgan sekundlar.
nbfNot BeforeShu vaqtgacha token hali kuchga kirmagan. Kamdan-kam ishlatiladi.
iatIssued AtToken qachon berilgan. `exp` bilan birga tokenning umrini beradi.
jtiJWT IDTokenning noyob identifikatori. Bir tokenni ikki marta ishlatishning oldini olish uchun.

Ko'p so'raladigan savollar

JWT shifrlanganmi? Payload'ni har kim o'qiy oladimi?

JWT shifrlanmagan, faqat imzolangan. Header va payload — oddiy base64url, ya'ni tokenni ushlagan har kim ularni bir soniyada ochib o'qiy oladi. Imzo faqat bitta narsani kafolatlaydi: token yo'lda o'zgartirilmagan. Shuning uchun payload'ga parol, karta raqami yoki boshqa maxfiy ma'lumot solinmaydi.

Bu asbob imzoni tekshiradimi?

Yo'q, va bu ataylab. Imzoni tekshirish uchun serverning maxfiy kaliti (HS256 uchun) yoki ochiq kaliti (RS256 uchun) kerak. Maxfiy kalitni veb-sahifaga kiritish — kalitni oshkor qilishning eng oson yo'li, hatto sahifa uni hech qayerga yubormasa ham. Tekshirish serverda, kutubxona orqali bajarilishi kerak.

Token muddati tugaganini qanday bilaman?

Payload'dagi exp da'vosi — epochdan beri o'tgan sekundlar. Asbob uni brauzeringiz soati bilan solishtiradi va tepada oddiy jumla bilan aytadi: hali amal qiladi yoki tugagan, qachon. Agar tokenda exp umuman bo'lmasa, asbob "muddat ko'rsatilmagan" deydi — "amal qiladi" demaydi, chunki tekshirilmagan narsa haqida shunday deyish noto'g'ri bo'lardi.

Tokenim serverga yuboriladimi?

Yo'q. Dekodlash brauzeringizda bajariladi va sahifa yuklangandan keyin bu asbob hech qanday tarmoq so'rovi yubormaydi. Token hech qayerga saqlanmaydi ham: sahifani yangilasangiz, u yo'qoladi.