JWT (JSON Web Token) — это открытый стандарт для создания токенов доступа, основанный на формате JSON. 12 Как правило, его используют для передачи данных для аутентификации или авторизации в клиент-серверных приложениях. 1
Структура токена JWT состоит из трёх частей: 1
- Заголовок. 1 Указывает тип токена и алгоритм подписи. 1
- Полезная нагрузка. 1 Это данные, которые несут в себе определённую информацию. 1
- Криптографическая подпись. 1 Обеспечивает целостность и подлинность передаваемой информации. 1
Пример использования JWT для аутентификации: 5
- Пользователь предоставляет учётные данные (например, логин и пароль) и отправляет их на сервер. 5
- Сервер проверяет учётные данные. 5 Если они верны, сервер генерирует JWT, содержащий информацию о пользователе, и подписывает его секретным ключом. 5
- Сервер отправляет JWT обратно пользователю. 5
- Пользователь сохраняет JWT (обычно в локальном хранилище браузера) и включает его в заголовок каждого последующего HTTP-запроса. 15
- Когда пользователь отправляет новый запрос с JWT, сервер декодирует JWT и проверяет его подпись. 5 Если токен действителен, сервер обрабатывает запрос и возвращает соответствующий ответ. 5