Изучение основ веб-токенов JSON (JWT)

Изучение основ JWT

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

Чтобы помочь вам понять основы JWT, я предоставлю несколько методов и примеры кода:

  1. Генерация JWT:
    Чтобы создать JWT, вам понадобится библиотека или платформа, поддерживающая JWT. Вот пример использования библиотеки jsonwebtokenв Node.js:
const jwt = require('jsonwebtoken');
const payload = { user_id: 123 };
const secretKey = 'your_secret_key';
const token = jwt.sign(payload, secretKey);
console.log(token);
  1. Проверка JWT.
    После получения JWT вы можете проверить его подлинность, используя тот же секретный ключ. Вот пример использования библиотеки jsonwebtoken:
const jwt = require('jsonwebtoken');
const token = 'your_received_token';
const secretKey = 'your_secret_key';
jwt.verify(token, secretKey, (err, decoded) => {
  if (err) {
    console.log('Invalid token');
  } else {
    console.log('Decoded payload:', decoded);
  }
});
  1. Срок действия JWT.
    JWT часто включает срок действия, чтобы гарантировать, что они действительны только в течение определенного периода. Вот пример использования библиотеки jsonwebtokenдля установки срока действия:
const jwt = require('jsonwebtoken');
const payload = { user_id: 123 };
const secretKey = 'your_secret_key';
const expiresIn = '1h'; // 1 hour
const token = jwt.sign(payload, secretKey, { expiresIn });
console.log(token);
  1. Отзыв JWT.
    В отличие от традиционной аутентификации на основе сеанса, JWT не имеют состояния. Если вам необходимо отозвать JWT до истечения срока его действия, вам необходимо создать черный список или использовать механизм отзыва токена.

  2. Обновление JWT:
    Вместо отзыва JWT вы можете выпустить новый с обновленным сроком действия. Это можно сделать, создав новый JWT после истечения срока действия старого.