JWT

JWT (JSON Web Token) — это "цифровой пропуск", который хранит данные пользователя и защищен от подделки подписью. Cостоит из трех частей, разделенных точками . xxxxx.yyyyy.zzzzz

Структура JWT:

  • Header
  • Payload
  • Signature

Библиотеки

  • @nestjs/jwt - Предоставляет JwtService, который является оберткой над популярной библиотекой jsonwebtoken. С его помощью мы генерируем токен при логине и можем проверить валидность входящего токена.
  • passport - Предоставляет абстракции для аутентификации (например, через JWT, локальную форму, OAuth и т.д.).
  • @nestjs/passport - Предоставляет декораторы (например,@UseGuards(AuthGuard('jwt'))) и утилиты для создания стратегий аутентификации.
  • passport-jwt - Содержит логику того, как извлечь JWT из запроса (например, из заголовка Authorization) и как его расшифровать/проверить.
  • bcrypt - Библиотека для хэширования паролей
  • jwt-decode - Клиентская библиотека для декодирования JWT без проверки подписи