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

Зачем нужен JWT-токен при работе с распределенными сервисами

JWT (JSON Web Token) — это компактный способ безопасной передачи данных между сервисами в формате JSON. В распределенных системах он решает несколько ключевых задач:

  1. Аутентификация — сервер может проверить подлинность пользователя без хранения сессии.
  2. Авторизация — токен содержит claims (например, роли), которые сервисы используют для контроля доступа.
  3. Stateless — не требует хранения состояния на сервере, что упрощает масштабирование.
  4. Межсервисное взаимодействие — подписанный токен можно передавать между микросервисами без повторной аутентификации.

Пример кода (Python, библиотека PyJWT):

python
import jwt

# Генерация токена
token = jwt.encode(
    {"user_id": 123, "role": "admin"},
    "secret_key",
    algorithm="HS256"
)

# Верификация
decoded = jwt.decode(token, "secret_key", algorithms=["HS256"])
print(decoded)  # {'user_id': 123, 'role': 'admin'}

Нюансы:

  • Токен подписан, но не зашифрован (если не используется JWE).
  • Для отзыва токенов нужны дополнительные механизмы (например, черные списки).
  • Срок жизни токена должен быть ограничен.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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