Sistema de autenticación de grado de producción que implementa integración SSO, middleware de seguridad y patrones de autenticación para SPAs.
Este repositorio contiene una solución completa de autenticación empresarial con múltiples enfoques de implementación para aplicaciones bancarias. Demuestra cómo integrar sistemas SSO legacy con SPAs modernas manteniendo seguridad de grado bancario.
El proyecto implementa una arquitectura de 4 capas:
┌─────────────┐ ┌──────────────┐ ┌─────────────┐ ┌─────────────┐
│ Fake SSO │ --> │ Security │ --> │ Backend │ --> │ Angular │
│ (Legacy) │ │ Middleware │ │ API │ │ SPA │
└─────────────┘ └──────────────┘ └─────────────┘ └─────────────┘
Este repositorio contiene tres ramas con diferentes enfoques:
Implementación básica con autenticación JWT estándar.
- Tokens JWT almacenados en cookies HttpOnly seguras
- Protección completa contra ataques XSS
- Gestión automática de tokens por el navegador
- Ideal para despliegues en el mismo dominio
- JWT en header Authorization + fingerprint en cookies
- Patrón double-submit cookie para protección CSRF
- Almacenamiento en localStorage con consideraciones XSS
- Ideal para despliegues cross-domain o microservicios
- Integración SSO - SSO empresarial simulado con puente de sesiones
- Middleware de Seguridad - Capa centralizada de autenticación/autorización
- Gestión JWT - Patrón Access/Refresh token con renovación automática
- Protección CSRF - Tanto basada en cookies como patrón double-submit
- Autenticación por Certificado - Validación de certificados X.509
- Gestión de Sesiones - Manejo distribuido con IDs únicos de sesión
- Encriptación de Tokens - Encriptación AES para tokens sensibles
- 7 Endpoints de Seguridad -
/loginBegin,/loginEnd,/refresco,/logoff, etc. - Firma JWT RS256 - Criptografía de clave asimétrica
- Arquitectura por Capas - Controladores, Servicios, Filtros, Manejadores de Excepciones
- Configuraciones de Producción - Headers seguros, CORS, rate limiting
Cada rama contiene documentación exhaustiva:
- Opción 1: Implementación Basada en Cookies
- Opción 2: Implementación Híbrida
/objetivo.md- Objetivos y requisitos del sistema/fake-sso/- Documentación del SSO simulado/security-middleware/- Documentación del middleware de seguridad/bank-app-api/- Documentación del backend/bank-app-ui/- Documentación del frontend
Este PoC es ideal para:
- Empresas migrando de SSO legacy a autenticación moderna
- Sistemas que requieren implementaciones de seguridad conformes a regulación
- Equipos evaluando estrategias de almacenamiento JWT (cookies vs localStorage)
- Arquitectos diseñando flujos seguros de autenticación para SPAs
Ambas implementaciones abordan:
- Prevención de Ataques XSS
- Mitigación de Ataques CSRF
- Protección contra Secuestro de Tokens
- Prevención de Fijación de Sesión
- Almacenamiento Seguro de Tokens
- Certificate Pinning
Esto no es solo otro "tutorial JWT" - es un blueprint listo para producción de autenticación empresarial que aborda desafíos del mundo real como integración SSO, cumplimiento regulatorio y patrones modernos de seguridad para SPAs.
| Característica | Option1 (Cookies) | Option2 (Híbrido) |
|---|---|---|
| Almacenamiento JWT | HttpOnly Cookies | localStorage + Authorization header |
| Protección XSS | ✅ Completa | |
| Protección CSRF | ✅ SameSite cookies | ✅ Double-submit pattern |
| Cross-domain | ❌ Limitado | ✅ Soportado |
| Gestión automática | ✅ Por navegador | ❌ Manual en JS |
- Backend: Spring Boot 3.4.5, Spring Security 6.x
- Frontend: Angular 17, RxJS, Angular Guards
- Seguridad: JWT (RS256), AES encryption, X.509 certificates
- Infraestructura: Docker, Redis (para gestión de tokens)
Nota: Este proyecto es una prueba de concepto que demuestra patrones de seguridad empresarial. Para uso en producción, asegúrese de adaptar las configuraciones a sus requisitos específicos de seguridad.