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'vo | Nomi | Ma'nosi |
|---|---|---|
| iss | Issuer | Tokenni kim bergan. Odatda auth serverning manzili; qabul qiluvchi tomon uni oq ro'yxat bilan solishtiradi. |
| sub | Subject | Token kim haqida. Ko'p tizimlarda bu foydalanuvchining ichki ID si — email emas, chunki email o'zgarishi mumkin. |
| aud | Audience | Token kimga atalgan. Boshqa xizmatning tokenini qabul qilmaslik uchun tekshiriladi. |
| exp | Expiration Time | Qachondan keyin token qabul qilinmasligi kerak. Epochdan beri o'tgan sekundlar. |
| nbf | Not Before | Shu vaqtgacha token hali kuchga kirmagan. Kamdan-kam ishlatiladi. |
| iat | Issued At | Token qachon berilgan. `exp` bilan birga tokenning umrini beradi. |
| jti | JWT ID | Tokenning 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.