# Operación del SGU Authentication Broker ## Dónde se ejecuta En el laboratorio, el broker se ejecuta en el controlador de dominio Windows Server: | Elemento | Valor | |---|---| | Equipo | `WIN-1AIQMMA1EPR.lci.lasalle.mx` | | Servicio | `SGUAuthBroker` / `SGU Authentication Broker` | | Ejecutable | `C:\Program Files\SGU\AuthBroker\SGU.AuthBroker.exe` | | Configuración | `C:\Program Files\SGU\AuthBroker\appsettings.Production.json` | | Endpoint cliente | `https://sgu-auth.lci.lasalle.mx:8443/v1/authenticate` | | Salud | `https://sgu-auth.lci.lasalle.mx:8443/health/live` | | Transporte | HTTPS 1.1 con certificado de cliente obligatorio (mTLS) | El Credential Provider no se comunica directamente con Active Directory ni conserva una contraseña. Envía la clave y la contraseña originales al broker; el broker valida SGU, actualiza la cuenta de dominio y devuelve solamente el dominio y el nombre de usuario canónico. ## Comprobación rápida Ejecutar como administrador en Windows Server: ```powershell Get-CimInstance Win32_Service -Filter "Name='SGUAuthBroker'" | Select-Object Name, State, StartMode, PathName, ProcessId Get-NetTCPConnection -LocalPort 8443 -State Listen Get-NetFirewallRule -DisplayName 'SGU Authentication Broker (mTLS)' sc.exe qfailure SGUAuthBroker ``` Desde un cliente que tenga el certificado mTLS: ```powershell Invoke-WebRequest ` -Uri https://sgu-auth.lci.lasalle.mx:8443/health/live ` -CertificateThumbprint CLIENT_CERT_THUMBPRINT ``` Una petición sin un certificado cliente válido debe ser rechazada durante TLS. Eso es comportamiento esperado, no una caída del servicio. ## Timeouts y recuperación - El Credential Provider espera hasta **90 segundos** por el broker. - El broker permite hasta **20 segundos** para el desafío NTLM ligero de `/psulsa/`. El enriquecimiento usa el límite total independiente `ProfileTimeoutSeconds` —**90 segundos** en la configuración del laboratorio— y conserva los campos que alcance a obtener si una página de personal se retrasa, no existe o cambia sus IDs. Esto incluye los módulos opcionales de nombre y ubicación para docentes. El Credential Provider mantiene su propio límite de **90 segundos**: si SGU excede ese presupuesto, Windows continúa por el fallback normal de AD o credenciales de dominio en caché. - El instalador configura recuperación del servicio con reinicios a los 5, 15 y 60 segundos y reinicia el contador de fallos después de 24 horas. - Si el broker o SGU no está disponible, el Credential Provider entrega la contraseña intacta a Windows. AD o el caché de inicio de sesión de Windows aún debe validarla; el fallback no concede acceso por sí mismo. Reiniciar o volver a desplegar el servicio produce una interrupción breve en un laboratorio con una sola instancia. Antes de una demostración, comprobar `Running` y el listener 8443. ## Diagnóstico ```powershell Get-WinEvent -FilterHashtable @{ LogName='Application' StartTime=(Get-Date).AddHours(-1) } | Where-Object ProviderName -eq 'SGU Authentication Broker' | Select-Object TimeCreated, LevelDisplayName, Id, Message Get-Content 'C:\Program Files\SGU\AuthBroker\appsettings.Production.json' -Raw | ConvertFrom-Json | Select-Object -ExpandProperty Broker ``` Nunca habilitar registro de cuerpos HTTP: contienen la contraseña durante la solicitud. Los certificados, no las contraseñas, proporcionan la identidad entre el cliente y el broker.