# 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 ```bash # 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 - [multi-tenant-auth](../multi-tenant-auth/) - Extension para multi-tenancy completo - [roles-permissions](../../user-management/roles-permissions/) - RBAC - [rate-limiting](../../api-patterns/rate-limiting/) - Proteccion de endpoints --- ## 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