JWT Authentication (NestJS)
ID: auth-jwt-nestjs
Version: 2.1.0
Estado: production
Categoria: authentication
Ultima actualizacion: 2026-01-04
Descripcion
Modulo de autenticacion basado en JWT para aplicaciones NestJS. Incluye soporte para refresh tokens, guards personalizados, decoradores, y opcional soporte multi-tenant.
Caracteristicas
- JWT con access y refresh tokens
- Guards de autenticacion (
@UseGuards(JwtAuthGuard))
- Decoradores personalizados (
@CurrentUser(), @Public())
- Soporte multi-tenant (tenant_id en claims)
- Rate limiting integrado para endpoints de login
- Blacklist de tokens (Redis)
- Password hashing con bcrypt
Compatibilidad
| Tecnologia |
Version Minima |
| Node.js |
18+ |
| NestJS |
9.0+ |
| TypeScript |
5.0+ |
| PostgreSQL |
14+ |
| Redis |
6+ (opcional, para blacklist) |
Instalacion Rapida
# 1. Dependencias
npm install @nestjs/jwt @nestjs/passport passport passport-jwt bcrypt
npm install -D @types/passport-jwt @types/bcrypt
# 2. Copiar modulo (desde proyecto de referencia)
# Gamilit: apps/backend/src/modules/auth/
# ERP-Core: backend/src/modules/auth/
Estructura del Modulo
auth/
├── auth.module.ts # Modulo principal
├── auth.controller.ts # Endpoints: login, register, refresh
├── auth.service.ts # Logica de autenticacion
├── strategies/
│ ├── jwt.strategy.ts # Passport JWT strategy
│ └── local.strategy.ts # Passport Local strategy
├── guards/
│ ├── jwt-auth.guard.ts # Guard de JWT
│ └── roles.guard.ts # Guard de roles
├── decorators/
│ ├── current-user.decorator.ts # @CurrentUser()
│ └── public.decorator.ts # @Public()
├── dto/
│ ├── login.dto.ts
│ ├── register.dto.ts
│ └── refresh-token.dto.ts
└── interfaces/
└── jwt-payload.interface.ts
Proyectos que lo Usan
| Proyecto |
Version |
Notas |
| gamilit |
2.1.0 |
Con multi-tenant |
| erp-core |
2.1.0 |
Con multi-tenant |
| trading-platform |
2.1.0 |
Single tenant |
| betting-analytics |
2.1.0 |
Single tenant |
| inmobiliaria-analytics |
2.1.0 |
Single tenant |
| platform_marketing_content |
2.1.0 |
Single tenant |
Modulos Relacionados
Referencias de Implementacion
| Proyecto |
Ubicacion |
| gamilit |
projects/gamilit/apps/backend/src/modules/auth/ |
| erp-core |
projects/erp-core/backend/src/modules/auth/ |
Mantenedor: @PERFIL_BACKEND
Fuente principal: gamilit