Логотип YeaHub

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

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

Тренажёр

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

Обучение

Навыки

Войти

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

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

© 2026 YeaHub

Документы

Медиа

Назад
Вопрос про JavaScript: authentication, jwt, token

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

Вопрос проверяет понимание структуры и назначения JWT токенов.

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

JWT (JSON Web Token) — это стандарт для безопасной передачи информации между сторонами в виде JSON-объекта. Токен состоит из трех частей: заголовка (header), полезной нагрузки (payload) и подписи (signature). Эти части разделяются точками и кодируются в Base64.

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

JWT — популярный стандарт для аутентификации и авторизации в веб-приложениях.

Структура JWT:
Токен имеет формат: header.payload.signature

  1. Header:

    • Содержит информацию о типе токена и алгоритме подписи

    • Пример: {"alg": "HS256", "typ": "JWT"}

  2. Payload:

    • Содержит claims (утверждения) — информацию о пользователе и дополнительные данные

    • Пример: {"sub": "123", "name": "John", "exp": 1516239022}

  3. Signature:

    • Создается путем подписи закодированных header и payload с использованием секретного ключа

    • Гарантирует целостность токена

Пример создания JWT в Node.js:

const jwt = require('jsonwebtoken');

const token = jwt.sign(
  { userId: 123, role: 'admin' },
  'secret-key',
  { expiresIn: '1h' }
);
console.log(token); // header.payload.signature

Преимущества JWT:

  • Статусность (не требует хранения на сервере)

  • Поддержка разных алгоритмов подписи

  • Легкая проверка подлинности

Безопасность:

  • Всегда используйте HTTPS

  • Храните секретные ключи безопасно

  • Устанавливайте разумное время expiration

Уровень

  • Рейтинг:

    2

  • Сложность:

    6

Навыки

  • JavaScript

    JavaScript

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

#authentication

#jwt

#token

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