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 без проверки подписи