Мазмұнға өту

JWT декодтау және тексеру

JSON Web Token тақырыбы мен claims деректерін декодтаңыз, жарамдылық мерзімін тексеріп, қолтаңбаны растаңыз; токен браузеріңізден шықпайды.

Осы бетте декодталып, тексеріледі — токен мен кілттер ешқайда жіберілмейді.

Токенді енгізгенде тақырып, claims және жарамдылық мерзімі осы жерде шығады.
Браузеріңізде жұмыс істейді · серверге жүктелмейдіҚалай жұмыс істейді

JWT декодер құралын қалай қолдану керек

  1. 1

    Токенді қойыңыз

    JWT-ді Authorization тақырыбынан, cookie файлынан немесе қолданбаңыздың сақтауынан алып қойыңыз; алдындағы «Bearer » ескерілмейді.

  2. 2

    Мәлімдемелерді оқыңыз

    Тақырып пен payload кестелерін, оқуға ыңғайлы exp, iat және nbf уақытын және мерзім баннерін қараңыз.

  3. 3

    Кілтті қосыңыз

    HMAC құпия кілтін енгізіңіз немесе ашық кілтті PEM, сертификат, JWK не JWKS түрінде қойыңыз.

  4. 4

    Қолтаңбаны тексеріңіз

    Токенге осы кілтпен қол қойылғанын және ол өзгертілмегенін растау үшін «Қолтаңбаны тексеру» түймесін басыңыз.

Шектеулер және Pro

Тіркелусіз тегін, токен санына шектеу жоқ; тексеру 13 алгоритмді қолдайды (256, 384 және 512 биттік HS, RS, PS және ES, сонымен қатар EdDSA).

Pro жарнаманы өшіреді; декодтау мен тексеру барлық тарифте бірдей. Pro-ны қарау

JWT декодер туралы

JSON Web Token — нүктелермен біріктірілген үш Base64URL жолы: қол қою алгоритмін көрсететін тақырып, мәлімдемелерден тұратын payload және қолтаңба. Токенді «Bearer » префиксімен немесе онсыз қойыңыз — декодер тақырып пен payload мәнін оқуға ыңғайлы кесте немесе форматталған JSON түрінде көрсетеді, токеннің үш бөлігін түрлі түспен бөліп, iss, sub, aud, kid және scope сияқты стандартты өрістерді түсіндіреді.

Уақыт мәлімдемелері автоматты түрде түрлендіріледі: exp, iat, nbf және auth_time уақыт белдеуіңіздегі күн ретінде, UTC бойынша және салыстырмалы уақытпен («2 сағаттан кейін аяқталады», «3 күн бұрын мерзімі өтті») көрсетіледі. Баннер токеннің мерзімі өткенін, әлі жарамды емес екенін немесе мерзімі жоқ екенін бірден көрсетеді, ал exp секундтың орнына миллисекундпен жазылғандай көрінсе, ескертеді.

Декодтау токенді кім шығарғанын дәлелдемейді, сондықтан тексергіш қолтаңбаны браузердегі кірістірілген WebCrypto арқылы тексереді. HS256, HS384 және HS512 үшін ортақ құпия кілт (қарапайым мәтін немесе Base64) керек. 256, 384 және 512 биттік RS, PS және ES алгоритмдері мен Ed25519 бар EdDSA үшін ашық кілт қажет: оны PEM ашық кілті, RSA PUBLIC KEY блогы, X.509 сертификаты, жеке JWK немесе тұтас JWKS түрінде қоюға болады; соңғы жағдайда кілт токеннің kid мәні бойынша таңдалады.

Құрал бес бөліктен тұратын JWE токендерін шифрдан шығара алмайды және JWKS сілтемелерін өзі жүктемейді: шығарушының jwks_uri мекенжайын өзіңіз ашып, JSON мәнін қойыңыз.

Құпиялылық

Токен — иесіне қолжетімділік беретін құпия дерек, сондықтан бұл бет оған солай қарайды: декодтау мен қолтаңбаны тексеру браузеріңізде WebCrypto арқылы орындалады, токен, құпия кілт және кілттер серверге жіберілмейді, журналға жазылмайды және сақталмайды. Қойынды жапсаңыз немесе бетті жаңартсаңыз, бәрі өшеді.

Мүмкіндіктер

Оқуға ыңғайлы уақыт

exp, iat және nbf — уақыт белдеуіңізде, UTC бойынша және «2 сағаттан кейін» немесе «3 күн бұрын» түрінде.

Қолтаңбаның нақты тексерілуі

HMAC, RSA, RSA-PSS, ECDSA және Ed25519 қолтаңбалары кілтіңізбен немесе JWKS арқылы WebCrypto көмегімен тексеріледі.

Токен құрылғыңызда қалады

Ештеңе серверге жүктелмейді, сондықтан жұмыстағы токендерді қауіпсіз қарап шығуға болады.

JWT декодер: жиі қойылатын сұрақтар

Жұмыстағы токенді осында қоюға қауіпсіз бе?
Токенді қойындыңызда жұмыс істейтін JavaScript декодтап, тексереді, оны қамтыған сұраныс жіберілмейді — мұны браузердің желі панелінен көруге болады. Дегенмен жарамды токен мерзімі біткенше құпия сөз сияқты жұмыс істейді, сондықтан сенімсіз сайттарға нақты токендерді қоймаңыз, скриншот бөліскенде мерзімі өткен немесе сынақ токендерін қолданыңыз.
Декодталған токен неге ештеңені дәлелдемейді?
Тақырып пен payload мәнін кез келген адам жасап, Base64URL түрінде кодтай алады; декодтау мұны тек кері айналдырады. Токенді шығарушымен тек қолтаңба байланыстырады. Мәлімдемелерге сенбес бұрын оны шығарушының ашық кілтімен немесе ортақ құпия кілтпен тексеріңіз және alg сервер күткен мән екенін қараңыз, өйткені «none» немесе ауыстырылған алгоритмді қабылдау — белгілі осалдық.
RS256 немесе ES256 токенін тексеру үшін ашық кілтті қайдан табуға болады?
Сәйкестендіру провайдерлері кілттерін JWK Set түрінде жариялайды. Шығарушының /.well-known/openid-configuration мекенжайын ашып, онда көрсетілген jwks_uri сілтемесіне өтіңіз де, сол JSON мәнін осында қойыңыз; токен тақырыбындағы kid мәніне сәйкес кілт қолданылады. Сондай-ақ PEM ашық кілтін немесе шығарушының X.509 сертификатын қоюға болады.
exp, iat және nbf нені білдіреді?
Бұл — 1970 жылғы 1 қаңтардан UTC бойынша секундпен есептелетін NumericDate мәлімдемелері. exp — токеннің жарамдылығы аяқталатын уақыт, iat — шығарылған уақыт, nbf — қабылдауға болатын ең ерте уақыт. Серверлер әдетте сағат айырмасына бір-екі минут жіберілімді береді. Декодер әрқайсысын жергілікті күн, UTC уақыт белгісі және салыстырмалы уақыт ретінде көрсетеді.
HMAC құпия кілті дұрыс болса да, тексеру неге сәтсіз болады?
Жиі себептер: кілтпен бірге көшірілген бос орындар, токенге қол қойылғанда кілттің Base64 түрінде кодталуы немесе тақырып не payload байттарын өзгерткен құралмен қайта кодталған токен. «Құпия кілт Base64 пішімінде кодталған» қосқышын байқап көріңіз. Алғашқы екі бөліктегі кез келген өзгеріс, тіпті JSON кілттерінің реті ауысуы да, қолтаңбаны жарамсыз етеді.