Sobes.tech
Back to questions
Junior — Middle
89

Каково предназначение JSON Web Token и в каких сценариях его применяют?

Answer from AI

sobes.tech AI

JSON Web Token (JWT) — это компактный, URL-безопасный способ передачи информации между сторонами в виде JSON-объекта. Основное предназначение JWT — аутентификация и авторизация пользователей в веб-приложениях.

Сценарии применения:

  • Передача данных о пользователе после входа в систему (например, ID, роли) без необходимости хранить сессию на сервере.
  • Обеспечение безопасности API, где клиент отправляет JWT в заголовке Authorization для подтверждения своей личности.
  • Обмен информацией между сервисами в распределённых системах.

Пример использования в Node.js:

const jwt = require('jsonwebtoken');

// Создание токена
const token = jwt.sign({ userId: 123, role: 'admin' }, 'секретный_ключ', { expiresIn: '1h' });

// Проверка токена
try {
  const decoded = jwt.verify(token, 'секретный_ключ');
  console.log(decoded.userId); // 123
} catch (err) {
  console.error('Неверный токен');
}