JWT декодер
Декодирајте го заглавието и содржината на JWT, прочитајте exp, iat и nbf како датуми и проверете HS256, RS256, PS256, ES256 или EdDSA потпис локално.
Токените се акредитиви. Оваа алатка ги декодира и проверува во вашиот прелистувач и никогаш не ги испраќа никаде.
Заглавие
Содржина (payload)
| Тврдење | Вредност | Датум | Статус |
|---|
- Алгоритам (alg)
- —
- Потпис (Base64url)
- —
Проверка на потписот
HS256/384/512: внесете ја заедничката тајна. RS, PS, ES (256/384/512) и EdDSA: залепете го јавниот клуч како PEM (јавен клуч, RSA јавен клуч или сертификат) или JWK (JWK Set се подредува според kid).
Како да декодирате JWT
- Залепете го токенот во полето JSON Web Token. Работи и цела вредност од типот
Authorization: Bearer …: префиксотBearerи прекините на редови се отстрануваат. - Токенот се декодира додека пишувате (или кликнете Декодирај). Заглавие и Содржина (payload) се појавуваат како форматиран JSON, секое со свое копче Копирај.
- Погледнете ја табелата Временски тврдења:
exp,nbfиiatсе прикажани со суровата вредност, датумот во вашата временска зона, релативно време („за 3 часа“, „пред 2 дена“) и статус како Истечен или Сè уште не важи. - Прочитајте ги предупредувањата над резултатите, на пример кога
algеnoneили кога датумот личи на милисекунди. - За да го проверите потписот, внесете го клучот под Проверка на потписот и кликнете Провери потпис.
Декодирање не е проверка
JWT се состои од три Base64url дела одделени со точки: header.payload.signature. Заглавието и содржината се само кодирани, не и шифрирани, па секој што го има токенот може да ги прочита, а оваа алатка може да декодира кој било токен без клуч. Тоа значи и дека декодираната содржина ништо не докажува: некој можеби ја изменил. Само важечки потпис покажува дека токенот го издал сопственикот на клучот и дека оттогаш не е менуван. Затоа статусот вели „Декодирано (потписот не е проверен)“ додека не го проверите потписот.
Токен со пет дела е JWE (шифриран JWT). Неговата содржина не може да се прочита без клуч за дешифрирање, а алатката ви го кажува тоа.
Проверка на потписот
- HS256, HS384, HS512 (HMAC): внесете ја заедничката Тајна. Во Формат на тајната изберете дали е обичен текст (UTF-8) или Base64/Base64url, бидејќи некои даватели ги чуваат тајните во Base64. Можете да залепите и JWK од тип
oct. Ако тајната е пократка од резултатот на хаш функцијата (32 бајти за HS256), алатката забележува дека е под минимумот од RFC 7518. - RS256/384/512, PS256/384/512, ES256/384/512 и EdDSA: залепете го Јавниот клуч (PEM или JWK). Прифатени се PEM блоковите
PUBLIC KEY,RSA PUBLIC KEYиCERTIFICATE(клучот се чита од X.509 сертификатот). Работи и JWK или цел JWK Set: се користи клучот чијkidодговара на заглавието. Приватните клучеви се одбиваат; проверувачот никогаш не ги бара. EdDSA поддржува Ed25519 во прелистувачи чиј Web Crypto го имплементира.
Проверката го користи Web Crypto API на прелистувачот. Резултатот „Неважечки потпис“ значи дека клучот е погрешен или токенот е изменет. Имајте предвид дека алгоритмот се зема од заглавието на токенот: вистински сервер мора наместо тоа да го фиксира очекуваниот алгоритам во својата конфигурација, инаку напаѓачот може сам да го избере.
Безбедносни напомени
- Токените се акредитиви. Секој што држи важечки токен за пристап обично може да дејствува како негов сопственик додека не истече. Оваа алатка сè декодира и проверува во вашиот прелистувач и никогаш не го испраќа токенот или клучот никаде. Сепак, избегнувајте да залепувате продукциски токени во алатки што не можете да ги проверите.
alg: noneзначи дека токенот не е потпишан. Секој може да фалсификува таков токен, а серверот мора да го одбие. Алатката прикажува предупредување и одбива да го „провери“ таквиот токен.- Проверките на времето овде го користат часовникот на вашиот компјутер без никаква толеранција; серверите често дозволуваат минута-две отстапување.
- Датумите во JWT (NumericDate) се секунди од 1 јануари 1970 UTC. Тринаесетцифрена вредност најверојатно е во милисекунди, што е честа грешка.
Често поставувани прашања
Дали алатката може да ми каже дали токенот е важечки?
Може да ви каже дали потписот одговара на клучот што го давате и дали exp и nbf се исполнети во моментов. Дали токенот ќе биде прифатен зависи и од проверки што ги знае само серверот: очекуван издавач (iss), публика (aud), алгоритам и отповикување.
Зошто проверката не успева со точната тајна?
Проверете го Формат на тајната: Base64 тајна внесена како текст дава поинаков клуч. Погрижете се и да не е додаден празен простор или прекин на ред во тајната, бидејќи HMAC клучевите се споредуваат бајт по бајт.
Која е разликата меѓу RS256, PS256 и ES256?
Сите три се потписи со јавен клуч и SHA-256. RS256 користи RSA со PKCS#1 v1.5 пополнување, PS256 користи RSA со PSS пополнување, а ES256 користи ECDSA на кривата P-256, што дава многу пократки потписи.
Каде да го најдам јавниот клуч на давателот?
Давателите на идентитет објавуваат JWKS (JSON Web Key Set), обично поврзан од /.well-known/openid-configuration под jwks_uri. Отворете го сами и залепете го JSON-от овде; алатката го избира клучот според kid и никогаш ништо не презема од мрежа.
Дали е безбедно да го залепам токенот овде?
Токенот останува на вашиот уред: декодирањето и проверката се случуваат локално и ништо не се качува. За дополнителна претпазливост, користете истечен или тест токен кога ви треба само да ја прегледате структурата.
Поврзани алатки
- HMAC генератор Пресметајте HMAC-SHA1, SHA-256, SHA-384 или SHA-512 со клуч како текст, hex или Base64, добијте hex и Base64 излез и проверете потпис на webhook.
- Base64 кодер и декодер Бесплатен Base64 кодер и декодер со целосна UTF-8 поддршка и опција base64url безбедна за URL. Работи во прелистувачот, ништо не се качува.
- Претворач на Unix временска ознака Претворете Unix временски ознаки во секунди или милисекунди во читливи датуми во локално време, UTC и ISO 8601, а секој датум вратете го во epoch време.
- JSON форматер и валидатор Бесплатен JSON форматер и валидатор што улепшува, минифицира и проверува JSON во прелистувачот, со синтаксни грешки пријавени по ред и колона.