Что такое 𝗝𝗪𝗧 (JSON Web Token)?
Защита API — одна из самых важных вещей, которую нужно сделать для предотвращения злоупотребления им.
Такая защита реализуется с помощью процесса аутентификации и авторизации и наиболее часто используется механизм на основе токенов JWT.
JSON Web Token — это стандарт, который используется для обмена информацией между клиентом и сервером в виде объекта JSON.
Он представлен в виде строки, состоящей из 3 частей:
I. Header (заголовок):
Он состоит из типа токена (typ) и используемого алгоритма подписи (alg). Тип всегда будет JWT, а алгоритмом подписи может быть HMAC, SHA256 или RSA.
II. Payload (полезная нагрузка):
Эта часть содержит соответствующие данные (в основном для пользователей), известные как claims (утверждения).
Существует три типа утверждений:
1. 𝗥𝗲𝗴𝗶𝘀𝘁𝗲𝗿𝗲𝗱 — утверждения, которые рекомендуется использовать для интероперабельности, такие как издатель (iss), тема (sub), срок действия (exp) и т. д.
2. 𝗣𝘂𝗯𝗹𝗶𝗰 — содержит общую информацию, такую как адрес электронной почты, имя или роль. Рекомендуется использовать устойчивые к коллизиям имена, чтобы избежать конфликтов с частными утверждениями.
3. 𝗣𝗿𝗶𝘃𝗮𝘁𝗲 - пользовательские утверждения.
III. Signature (подпись):
Эта часть гарантирует, что токен не был изменен.
JWT подписан алгоритмом из заголовка, а подпись состоит из закодированного заголовка и полезной нагрузки, а также секрета.
Строка всегда кодируется как строка Base64, где каждая часть разделена точками, и таким образом легко передается через заголовки HTTP.
https://t.me/itarchitecture
Post #233
818

- 🔥 6
- 👍 2