Tareas #4888
Implementación SSO SAML 2.0 con IdP UAM (LoginExterno y OP_Login)
Description
Se requiere implementar autenticación Single Sign-On (SSO) mediante SAML 2.0 contra el Identity Provider (IdP) de la UAM, permitiendo que los usuarios de la universidad accedan a los sistemas sin necesidad de autenticación local independiente.
La aplicación actuará como Service Provider (SP) y se integrará con el IdP de la UAM utilizando los endpoints y certificado proporcionados.
Aplica a:
- LoginExterno (Matrículas, Congresos, Contabilidad, WebFUAM)
- OP_Login (órdenes de pago de colaboradores)
Análisis y estudio técnico (Estimación: 20 h)¶
- Estudio del flujo completo SAML 2.0.
- Análisis de OpenSAML 2.x y su API.
- Revisión en profundidad de LoginExterno.
- Revisión de Login.java (OP_Login).
- Definición de arquitectura SP dentro del sistema legacy.
Desarrollo Core SAML (Service Provider) (Estimación: 52 h)¶
- Configuración del SP (entityID, endpoints, certificados).
- Generación de AuthnRequest (SP → IdP).
- Implementación de Assertion Consumer Service (ACS).
- Procesamiento de Response y Assertion.
- Validación de firma XML y certificado X.509.
- Generación de metadata.xml del SP.
- Implementación básica de Single Logout (SLO).
Integración con LoginExterno y OP_Login (Estimación: 44 h)¶
- Integración del flujo SSO en LoginExterno.
- Integración del flujo SSO en OP_Login.
- Mapeo de atributos SAML (nombre, apellidos, email).
- Creación automática o vinculación de usuarios locales.
- Adaptación de JSPs (botón “Acceder con UAM”).
- Ajustes de control de sesión y roles.
Configuración y ajustes técnicos (Estimación: 16 h)¶
- Generación de certificados del SP.
- Configuración en struts.xml y web.xml.
- Gestión de parámetros configurables.
- Adaptaciones necesarias en base de datos (campo saml_nameid o relación equivalente).
Testing, integración con UAM y depuración (Estimación: 32 h)¶
- Pruebas unitarias básicas.
- Pruebas de integración con IdP UAM.
- Resolución de problemas típicos SAML (firmas, canonicalización, encoding).
- Validación de logout coordinado.
- Ajustes tras pruebas en entorno real.
Buffer técnico y contingencias (Estimación: 16 h)¶
- Incidencias derivadas de código legacy.
- Problemas con librerías antiguas.
- Ajustes derivados de validaciones del IdP UAM.
Estimación global¶
Estimación total aproximada: 180 horas
History
#1 Updated by Daniel García 26 days ago
- Status changed from Nueva to En Aprobación
#2 Updated by Jose Antonio Martín Bravo 26 days ago
- Status changed from En Aprobación to En curso
- Assignee changed from Jose Antonio Martín Bravo to Daniel García
- Priority changed from Normal to Urgente
Adelante con el desarrollo de la tarea por 180 horas
#3 Updated by Daniel García 25 days ago
- Estimated time set to 180.00 h