JWT. Его составляющие и особенности использования
Last updated
Was this helpful?
Last updated
Was this helpful?
JWT (Json Web Token) - стандарт по созданию авторизационных токенов.
Этот стандарт позволяет:
передать в токен необходимую нам информацию (например, id пользователя) и использовать ее при получении токена (для вытягивания необходимого пользователя из базы данных и т. д.)
удостоверится в целостности информации в токене с помощью подписи (подробнее об этом далее)
JWT-стадарт предусматривает, что токен будет состоять из 3-х частей:
заголовков (headers)
пейлоада (payload)
подписи (signature)
Заголовки (обозначены красным) - информация о том, как был создан токен (в частности, алгоритм использованый для подписи пейлоада).
Пейлоад (обозначен фиолетовым) - собственно, информация, которую мы передали при создании токена в формате json (как правило, id пользователя или id сессии).
Следует иметь в виду, что информация в пейлоаде находится в незашифрованном формате (просто json-строка, закодированная в base64), поэтому не стоит хранить важную информацию в jwt-токене, так как ее может увидеть любой желающий.
Подпись (обозначена синим) - это захешированный с помощью ключа, пейлоад. Подпись позволяет убедиться, что со времени создания токена, данные в пейлоаде оставались неизменными (последующим сравнением хэшей пейлоада и подписи).