Вопрос проверяет знание структуры JWT (JSON Web Token) — стандарта для передачи данных с цифровой подписью.
JWT — это закодированная строка, содержащая JSON-данные. Состоит из трёх частей: заголовка (алгоритм подписи), полезной нагрузки (данные) и подписи (проверка подлинности). Используется для аутентификации и передачи информации между сервисами.
Header (заголовок)
Указывает алгоритм подписи (например, HS256 или RS256) и тип токена:
{
"alg": "HS256",
"typ": "JWT"
}Payload (полезная нагрузка)
Содержит утверждения (claims) — данные о пользователе и времени жизни токена:
{
"sub": "1234567890",
"name": "John Doe",
"exp": 1516239022
}Signature (подпись)
Создается путем кодирования header + payload с секретным ключом:
HMACSHA256(base64UrlEncode(header) + "." + base64UrlEncode(payload), secret)eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5cАутентификация (вместо сессий).
Обмен данными между микросервисами.