Esta guía muestra a los equipos de los portales de clientes cómo conectar la identidad empresarial y asegurar el transporte al integrar Aura Home con el SDK del lado del cliente.
Resumen de la implementación
getToken devuelve un token OIDC/JWT.Requisitos previos
- El portal del cliente ya se sirve por HTTPS.
- La URL del runtime de Aura Home usa HTTPS y es accesible desde el navegador del cliente.
- El proveedor de identidad del cliente puede emitir tokens OIDC/JWT directamente o trasladar sesiones SAML a tokens OIDC/JWT mediante un puente.
- Cadisa y el cliente acordaron el emisor OIDC, el client ID, el origen permitido del runtime y el origen permitido del portal principal.
1. Configure el SSO del portal
El portal del cliente debe autenticar al usuario antes de abrir Aura Home. Luego, el SDK proporciona un token OIDC/JWT de corta duración mediante auth.getToken. Los tokens no deben colocarse en cadenas de consulta, atributos HTML, variables CSS, ejemplos de almacenamiento local ni registros.
import { AuraHome } from "@aura-home/sdk";
const aura = AuraHome.init({
container: "#aura-home",
baseUrl: "https://aura.customer-domain.com/",
allowedOrigin: "https://aura.customer-domain.com",
sdkHost: "portal.customer-domain.com",
auth: {
mode: "oidc",
getToken: async () => {
const session = await customerPortal.getCurrentSession();
return session.idToken;
}
},
sections: {
chat: true,
profile: true,
navbar: false,
footer: false
}
});
Requisitos del token
| Requisito | Propósito |
|---|---|
iss | Debe coincidir con el emisor configurado para el runtime de Aura Home. |
aud | Debe coincidir con el client ID o la audiencia esperados. |
sub | Identificador estable del usuario proveniente del proveedor de identidad del cliente. |
email | Recomendado para la visualización del usuario y los flujos de soporte al cliente. |
exp | Obligatorio para poder rechazar los tokens vencidos. |
2. Implemente un puente SAML
Si el cliente usa SAML, mantenga la aserción SAML sin procesar dentro de la capa de identidad del cliente. El IdP del cliente, el gateway de identidad o el backend deben intercambiar la sesión autenticada con SAML por un token OIDC/JWT que Aura Home pueda validar.
// The customer signs in with SAML through the enterprise IdP.
// The identity gateway exchanges that SAML session for an OIDC/JWT token.
// Aura Home receives the JWT/OIDC token, not the raw SAML assertion.
const samlSession = await enterpriseIdentity.requireSamlSession();
const oidcToken = await identityGateway.exchangeSamlForOidc({
sessionId: samlSession.id,
audience: "aura-home",
requestedClaims: ["sub", "email", "name"]
});
AuraHome.init({
container: "#aura-home",
baseUrl: "https://aura.customer-domain.com/",
allowedOrigin: "https://aura.customer-domain.com",
auth: {
mode: "oidc",
getToken: async () => oidcToken.idToken
}
});
Lista de verificación del puente SAML
- No envíe aserciones SAML al iframe del navegador.
- Use un backend o un gateway de identidad para intercambiar el estado SAML por un token OIDC/JWT.
- Configure la validación del backend de Aura Home para el emisor y la audiencia del puente.
- Mantenga una vida útil corta para los tokens y renuévelos mediante la capa de identidad del portal.
3. Prepare los certificados SSL
Los certificados SSL/TLS se configuran en la capa de hosting, CDN, balanceador de carga o proxy inverso del cliente. El Aura Home SDK no instala ni renueva certificados.
# Customer DNS example
portal.customer-domain.com A 203.0.113.10
aura.customer-domain.com CNAME customer-aura-runtime.example.net
assets.customer-domain.com CNAME customer-cdn.example.net
# Certificate coverage
portal.customer-domain.com
aura.customer-domain.com
assets.customer-domain.com
# Validation checks
curl -I https://portal.customer-domain.com
curl -I https://aura.customer-domain.com
openssl s_client -connect aura.customer-domain.com:443 \
-servername aura.customer-domain.com
Requisitos de los certificados
- Use certificados de confianza para los navegadores estándar.
- Cubra el dominio del portal, el dominio del runtime de Aura Home y los dominios de los recursos alojados.
- Habilite la renovación automática antes del vencimiento del certificado.
- Sirva la cadena de certificados completa desde el borde.
4. Use HTTPS en toda la ruta de integración
Las integraciones de producción deben usar HTTPS para la página anfitriona, el paquete del SDK, el runtime de Aura Home, las llamadas de identidad, las URL de hojas de estilo, los recursos de imagen y las conexiones a la API. El contenido mixto puede hacer que los navegadores bloqueen la integración o impidan que se complete la autenticación.
<div id="aura-home"></div>
<script type="module">
import { AuraHome } from "@aura-home/sdk";
AuraHome.init({
container: "#aura-home",
baseUrl: "https://aura.customer-domain.com/",
allowedOrigin: "https://aura.customer-domain.com",
sdkHost: "portal.customer-domain.com"
});
</script>
Ejemplo de Content Security Policy
Content-Security-Policy:
default-src 'self';
script-src 'self' https://cdn.customer-domain.com;
frame-src https://aura.customer-domain.com;
connect-src 'self' https://aura.customer-domain.com https://idp.customer-domain.com;
style-src 'self' https://assets.customer-domain.com;
5. Validación del lanzamiento
| Verificación | Resultado esperado |
|---|---|
Abra baseUrl en una pestaña del navegador | El runtime de Aura Home se carga por HTTPS. |
| Abra la página del portal del cliente | El navegador no muestra advertencias de contenido mixto. |
Llame a auth.getToken | Se devuelve un token OIDC/JWT de corta duración. |
| Inspeccione los claims del token | El emisor y la audiencia coinciden con la configuración del runtime de Aura Home. |
| Integre Aura Home | El iframe se carga y el SDK emite ready o loaded. |
| Revise los registros | No se registran tokens sin procesar, aserciones SAML, contraseñas ni secretos. |
Solución de problemas
| Síntoma | Causa probable | Solución |
|---|---|---|
| El iframe está bloqueado | El origen del portal no está permitido o la CSP es demasiado estricta. | Permita el runtime de Aura Home en frame-src y confirme los orígenes principales aprobados. |
| La autenticación falla con un error 401 | Token faltante, vencido o no válido. | Renueve el token y confirme el emisor, la audiencia, el vencimiento y la firma. |
| El inicio de sesión SAML funciona, pero Aura Home aparece como anónimo | No se creó el puente de SAML a OIDC/JWT para el SDK. | Intercambie la sesión SAML por un token OIDC/JWT y devuélvalo desde getToken. |
| El navegador informa contenido mixto | Un recurso o endpoint se carga por HTTP. | Migre a HTTPS todas las URL del SDK, del runtime, de la API, de las hojas de estilo y de identidad. |
| Aparece una advertencia de certificado | Falta un SAN, el certificado venció o la cadena está incompleta. | Vuelva a emitir o renueve el certificado y sirva la cadena completa desde el borde. |