Prerrequisitos y Conceptos de Seguridad
La seguridad es uno de los pilares fundamentales en el desarrollo de arquitecturas backend modernas. En aplicaciones empresariales y APIs RESTful, no basta con implementar las funcionalidades de negocio; es obligatorio garantizar que cada petición provenga de una identidad legítima y que las operaciones ejecutadas respeten estrictamente las políticas de acceso del sistema.
Guards, Passport y JSON Web Tokens (JWT)
Para implementar una capa de seguridad profesional en NestJS, es indispensable comprender cómo se integran tres piezas clave: el sistema nativo de Guards, la librería de autenticación Passport a través del patrón Strategy, y el estándar de tokens JSON Web Tokens (JWT).
Implementación del Módulo de Autenticación con JWT
En esta sección llevaremos los conceptos teóricos a la práctica, construyendo un módulo completo de autenticación (AuthModule) en NestJS. Implementaremos la validación de credenciales con hashing criptográfico, la generación de tokens firmados mediante JwtService, la estrategia JwtStrategy para validar cabeceras Bearer y el controlador de acceso (AuthController).
Control de Acceso Basado en Permisos (Guards)
Una vez resuelta la autenticación de usuarios y la emisión de tokens JWT, el siguiente desafío arquitectónico consiste en gobernar qué recursos y operaciones tiene permitido ejecutar cada usuario dentro del sistema.
Interceptors y Sistema de Logging en NestJS
En arquitecturas backend empresariales, los controladores y servicios deben enfocarse exclusivamente en la lógica de negocio. Sin embargo, existen necesidades transversales que afectan a múltiples módulos del sistema: auditoría, medición de latencia, transformación de respuestas, cifrado de payloads y registro de logs (logging).
Slides de la semana
Diapositivas oficiales correspondientes a la Semana 7: Fundamentos de Seguridad, Hashing con bcrypt, Passport, JSON Web Tokens (JWT) y Control de Acceso Granular (PBAC) con Guards en NestJS.