Търсене на инструменти

Бързо търсене на инструменти

Създаване на JWT

Създаване и подписване на JWT токен, поддържащ различни алгоритми за подписване.100% локална обработка, без качване, без риск.

Оставете празно, за да използвате стойността exp от полезния товар

Какво е JWT?
JWT (JSON Web Token) е отворен стандарт (RFC 7519), който дефинира компактен и самостоятелен начин за сигурно предаване на информация между страни. Тази информация може да бъде проверена и доверена, защото е цифрово подписана.
Структура на JWT
JWT се състои от три части, разделени с точка (.): заглавна част (Header), полезен товар (Payload) и подпис (Signature). Заглавната част указва алгоритъма за подписване, полезният товар съдържа декларации, а подписът се използва за проверка дали съобщението не е било променяно.
Често срещани сценарии за използване на JWT
Удостоверяване (най-честият сценарий), обмен на информация (JWT може да предава информация сигурно, защото може да бъде подписана), упълномощаване (съдържа информация за правата на потребителя) и реализация на единичен вход.
Типове алгоритми за подписване
JWT поддържа различни алгоритми за подписване, главно разделени на два вида: симетрични алгоритми, базирани на HMAC (като HS256), и асиметрични алгоритми, базирани на RSA/ECDSA (като RS256, ES256). Симетричните алгоритми използват един и същ ключ за подписване и проверка, докато асиметричните използват частен ключ за подписване и публичен ключ за проверка.
Съвети за сигурност
Не съхранявайте чувствителна информация (като пароли) в JWT, защото полезният товар на JWT е само кодиран в Base64, а не криптиран. За приложения, изискващи висока сигурност, се препоръчва използването на кратко време на изтичане и прилагане на стратегия за ротация на токени.
Какво да правите, когато JWT изтече?
Когато JWT изтече, сървърът ще откаже този токен. Препоръчителният начин за обработка е да се реализира механизъм за опресняване на токени (Refresh Token), при който клиентът използва опресняващия токен за получаване на нов токен за достъп, без да се изисква от потребителя да влезе отново. Опресняващите токени обикновено имат по-дълъг период на валидност, но трябва да се съхраняват внимателно.
Как да отмените JWT?
Строго погледнато, JWT е проектиран като токен без състояние и не може да бъде наистина отменен. Но има няколко често срещани решения: поддържане на черен списък с отменени токени (което може да неутрализира предимството на JWT да е без състояние), използване на кратко време на изтичане в комбинация с опресняващи токени, или вграждане на идентификатор на версия в токена, като сървърът може да откаже старите версии.
Каква е разликата между JWT и сесия?
JWT е самостоятелен токен, който съдържа цялата необходима информация, подходящ е за разпределени системи и не изисква сървърът да съхранява състояние на сесията. Сесията се базира на съхранение на сървърната страна и изисква поддържане на състояние на сесията, което я прави по-подходяща за архитектури с един сървър. JWT е по-добър за разширяване, но отмяната е сложна; сесията е лесна за отмяна, но разширяемостта е по-лоша.