Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

Документы

Медиа

Назад
Вопрос про Golang: jwt, token, security

Что такое JWT и из каких частей он состоит?

Вопрос проверяет знание структуры JWT (JSON Web Token) — стандарта для передачи данных с цифровой подписью.

Короткий ответ

JWT — это закодированная строка, содержащая JSON-данные. Состоит из трёх частей: заголовка (алгоритм подписи), полезной нагрузки (данные) и подписи (проверка подлинности). Используется для аутентификации и передачи информации между сервисами.

Длинный ответ

1. Структура JWT

  • 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)

2. Пример токена

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c

3. Где применяется

  • Аутентификация (вместо сессий).

  • Обмен данными между микросервисами.

Уровень

  • Рейтинг:

    2

  • Сложность:

    6

Навыки

  • Golang

    Golang

Ключевые слова

#jwt

#token

#security

Подпишись на Golang Developer в телеграм