Встречается на собеседованиях • сегодня

Как работает JWT авторизация

JWT (JSON Web Token) — это компактный способ безопасной передачи данных между сторонами в виде JSON-объекта. Он состоит из трех частей, разделенных точками: 1. **Header** — содержит тип токена и алгоритм шифрования (например, `{"alg": "HS256", "typ": "JWT"}`). 2. **Payload** — полезные данные (например, `{"user_id": 123, "exp": 1735689600}`). 3. **Signature** — подпись, созданная на основе header, payload и секретного ключа. **Пример создания JWT в Python (библиотека `pyjwt`):** ```python import jwt secret_key = "your_secret_key" payload = {"user_id": 123, "exp": 1735689600} # exp — срок действия token = jwt.encode(payload, secret_key, algorithm="HS256") print(token) # Вывод: "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..." ``` **Как это работает:** 1. Клиент отправляет логин/пароль, сервер проверяет их и генерирует JWT. 2. Сервер отправляет токен клиенту, который сохраняет его (например, в localStorage). 3. Клиент прикрепляет токен к заголовку `Authorization: Bearer ` при каждом запросе. 4. Сервер проверяет подпись и данные токена перед выполнением запроса. **Плюсы:** - Stateless (не требует хранения сессий на сервере). - Подходит для микросервисов и мобильных приложений. **Минусы:** - Нельзя отозвать токен до истечения `exp` (решается через черные списки или короткий срок жизни). - Уязвим к XSS-атакам, если хранить в localStorage.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы