JWT

§§IBT7§§¶@definition¶JWT (JSON Web Token) — компактный формат передачи утверждений в виде JSON-объекта, защищаемого электронной подписью или кодом аутентификации, а в отдельных вариантах — шифрованием.¶@plain¶JWT состоит из закодированных частей и часто содержит идентификатор пользователя, срок действия и другие claims. Обычный подписанный JWT не скрывает содержимое: подпись подтверждает целостность и происхождение, но не обеспечивает конфиденциальность.¶@use¶Получатель обязан проверять подпись, допустимый алгоритм, издателя, аудиторию и срок действия. Токены хранят и передают так, чтобы снизить риск кражи; в них не помещают секретные данные без отдельной защиты.¶@example¶API получает access token, проверяет подпись, issuer, audience и exp и только после этого разрешает операцию, соответствующую заявленным правам.¶@compare¶OAuth 2.0¦¦OAuth 2.0 — протокол авторизации, который может использовать JWT как формат токена¤Зашифрованный токен¦¦Подписанный JWT не обязательно зашифрован¶@steps¶Выдача¦Доверенный компонент формирует набор claims, срок действия и сведения об аудитории.¤Подпись¦Заголовок и полезная нагрузка защищаются выбранным криптографическим алгоритмом.¤Проверка¦Получатель фиксирует допустимый алгоритм и проверяет подпись, issuer, audience и время.¤Авторизация¦Проверенные claims используются только в пределах правил конкретного приложения.¶@resources¶Курсы AppSec¦https://ibcourses.ru/appsec-kursy¦Курс¤Каталог российских СЗИ¦https://ibcourses.ru/katalog-ib-resheniy¦Решения¶@related¶¶@faq¶Что находится внутри JWT?¦JWT — компактная строка с заголовком, набором claims и подписью либо кодом аутентификации; возможен и отдельный зашифрованный формат JWE.¤JWT шифруется или только подписывается?¦Нет. Обычный подписанный JWS можно декодировать без ключа, поэтому чувствительные данные нельзя помещать в payload без отдельной защиты.¤Какие проверки JWT обязательны?¦Нужно проверять допустимый алгоритм, подпись, issuer, audience, срок действия и другие обязательные claims, не доверяя заголовку токена без политики.