JWT — Json Web Token¶
JWT — стандартный (RFC 7519) формат токена для передачи требований. Используется при передаче через строку запроса (query string) URL или HTTP заголовок Authorization. Формат подразумевает использование электронной подписи и/или шифрования содержимого.
Структура¶
JWT состоит из трёх частей, каждая из которых представляет собой закодированную в Base64 строку. Каждая часть отделена от других точками. Каждую часть возможно декодировать и прочитать.
Первая часть — заголовочная. Выглядит примерно так:
В этом примере в заголовке указан тип токена — JWT и алгоритм защиты — HMAC-SHA256.
Вторая часть — полезная нагрузка (payload). В ней указываются клеймы, которые мы хотим передать, в формате “ключ-значение”. Крайне упрощённый пример:
Третья часть — подпись (появляется, если в заголовке указан алгоритм, отличный от
none).Получается путём получения хэша от закодированных в Base64 заголовка и полезной нагрузки через точку (то есть, того, что передано в первых двух частях токена) с подмешанным секретом (строкой, известной только принимающей стороне и настоящей передающей стороне) и кодирования его в Base64. При проверке принимающей стороной переданная подпись должна совпасть с построенной при проверке.
Ссылки¶
https://jwt.io/
Стандарт RFC 7519
HMAC
Последнее обновление :
5 ноября 2023 г.
Дата создания : 25 февраля 2023 г.
Дата создания : 25 февраля 2023 г.