Skip to Content

SSO Empresarial

Auris permite a los clientes empresariales autenticarse usando su proveedor de identidad (IdP) corporativo existente — Azure Active Directory, Okta, Google Workspace, OneLogin, PingIdentity, o cualquier IdP compatible con SAML 2.0 u OIDC.

Las conexiones SSO están asociadas a organizaciones. Cada organización en Auris puede tener una o más conexiones SSO, y la conexión apropiada se detecta automáticamente por el dominio de correo del usuario.


Resumen

Cuando un usuario con un correo que coincide con un dominio verificado intenta iniciar sesión, Auris:

  1. Detecta la conexión SSO mediante el dominio de correo
  2. Redirige al usuario a la página de inicio de sesión del IdP corporativo
  3. Recibe la aserción SAML o el token OIDC del IdP
  4. Asigna los atributos del usuario del IdP a los campos de usuario de Auris
  5. Aprovisiona la cuenta de usuario en Auris si no existe (aprovisionamiento JIT)
  6. Emite un access token y refresh token de Auris

Desde la perspectiva de tu aplicación, el flujo es idéntico a cualquier otro inicio de sesión de Auris — usas el mismo SDK, la misma URL de callback y recibes el mismo formato de token.


Configuración SAML 2.0

Crear una organización

Las conexiones SSO empresarial están vinculadas a organizaciones. Si aún no has creado una organización para el cliente empresarial, ve a Consola → Organizaciones → Crear Organización.

Abrir la configuración SSO

Navega a la página de detalle de la organización → pestaña SSO Empresarial → Añadir Conexión → SAML 2.0.

Configurar tu IdP SAML

En la interfaz de administración de tu IdP, crea una nueva aplicación SAML. Necesitarás los siguientes valores de Auris (que se muestran en la Consola tras seleccionar SAML 2.0):

CampoValor
Entity ID (Audience URI)https://auth.tudominio.com/saml/{connectionId}
ACS URL (Reply URL)https://auth.tudominio.com/api/auth/sso/callback/{connectionId}
Formato de Name IDurn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress

Introducir los metadatos del IdP en la Consola de Auris

Desde tu IdP, obtén:

  • URL de metadatos o XML de metadatos — Auris los utiliza para extraer el entity ID del IdP, la URL SSO y el certificado de firma
  • O introduce la URL SSO, el Entity ID y el Certificado manualmente

Configurar el mapeo de atributos

Asigna los atributos SAML a los campos de usuario de Auris. Asignaciones comunes:

Campo de AurisAtributo SAML común
Emailhttp://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress o email
Nombrehttp://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname o firstName
Apellidohttp://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname o lastName
Nombre de usuariohttp://schemas.xmlsoap.org/ws/2005/05/identity/claims/name

Activar la conexión

Haz clic en Activar. El estado de la conexión cambia a Activo. Prueba haciendo clic en Probar Conexión, que abre la página de inicio de sesión del IdP en una nueva pestaña.


Configuración de Proveedor OIDC

Abrir la configuración SSO

Navega a la página de detalle de la organización → pestaña SSO Empresarial → Añadir Conexión → OIDC.

Registrar Auris en tu Proveedor OIDC

En tu IdP (ej. Azure AD, Okta, Auth0, Google Workspace), registra una nueva aplicación OIDC:

  • URI de Redirección: https://auth.tudominio.com/api/auth/sso/callback/{connectionId}
  • Tipo de Grant: Authorization Code
  • Método de Auth del Endpoint de Token: client_secret_post

Copia el Client ID y el Client Secret.

Introducir la configuración OIDC en la Consola de Auris

Introduce ya sea:

  • URL de Discovery (recomendado): la URL .well-known/openid-configuration de OIDC para tu IdP — Auris obtiene todas las URLs de endpoint automáticamente
  • O los campos individuales: Endpoint de Autorización, Endpoint de Token, Endpoint de Userinfo, URI JWKS

Introduce el Client ID y el Client Secret del paso anterior.

Configurar los scopes

Los scopes predeterminados openid profile email son suficientes para la mayoría de los despliegues. Añade scopes personalizados si tu IdP los requiere para liberar atributos adicionales.

Activar y probar

Haz clic en Activar, luego en Probar Conexión para verificar el flujo de extremo a extremo.


Verificación de Dominio

Para que la detección SSO funcione, debes verificar la propiedad de los dominios de correo utilizados por los miembros de la organización.

Añadir un dominio

En la pestaña SSO Empresarial de la organización → Dominios → Añadir Dominio. Introduce el dominio (ej. empresa.com).

Añadir el registro TXT de DNS

Auris genera un token de verificación. Añade un registro TXT al DNS de tu dominio:

Tipo: TXT Nombre: _auris-verify.empresa.com Valor: auris-verify=abc123xyz456...

Activar la verificación

Después de añadir el registro DNS, haz clic en Verificar en la Consola. Auris realiza una búsqueda del registro TXT de DNS y marca el dominio como verificado.

La propagación del DNS puede tardar hasta 48 horas, aunque generalmente es inferior a 5 minutos para la mayoría de los proveedores.

Un único dominio solo puede verificarse para una organización dentro de un tenant. Intentar verificar un dominio ya reclamado devuelve un error.


Detección de SSO

Auris detecta automáticamente la disponibilidad de SSO cuando un usuario introduce su correo en la página de inicio de sesión alojada. La detección también está disponible como llamada a la API para interfaces de inicio de sesión personalizadas:

POST/api/auth/sso/detect

Comprueba si SSO está configurado para un dominio de correo. Cuerpo: { email: string }. Devuelve { ssoEnabled: boolean, connectionAlias?: string, provider?: 'saml' | 'oidc' }.

// Interfaz de inicio de sesión personalizada: verificar SSO antes de mostrar el campo de contraseña async function verificarSso(email) { const dominio = email.split('@')[1] const respuesta = await fetch('/api/auth/sso/detect', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ email }), }) const datos = await respuesta.json() if (datos.ssoEnabled) { // Redirigir a SSO — omitir el campo de contraseña window.location.href = `/api/auth/sso/login/${datos.connectionAlias}` } else { // Mostrar campo de contraseña mostrarCampoContrasena() } }

Aprovisionamiento JIT

El aprovisionamiento justo a tiempo (JIT) crea automáticamente una nueva cuenta de usuario en Auris la primera vez que un usuario SSO se autentica. Esto elimina la necesidad de crear cuentas previamente o sincronizar listas de usuarios manualmente.

En el primer inicio de sesión SSO:

  • Auris crea una cuenta de usuario con los atributos mapeados desde la aserción SAML o el token OIDC
  • El usuario recibe los roles predeterminados configurados para la organización
  • Se registra un evento de auditoría user.created con source: 'sso_jit'

En los siguientes inicios de sesión SSO:

  • Auris actualiza los atributos del usuario desde el IdP (nombre, correo) si han cambiado
  • Las asignaciones de roles de sesiones anteriores se conservan
  • Se registra un evento de auditoría user.login

Para deshabilitar el aprovisionamiento JIT: Desactiva Aprovisionamiento JIT en la configuración de la conexión SSO. Con JIT deshabilitado, los usuarios deben ser creados previamente en Auris (manualmente o mediante SCIM) antes de poder usar SSO.


Mapeo de Roles

Por defecto, los usuarios SSO no reciben roles en Auris. Puedes configurar la asignación automática de roles basada en la membresía de grupos del IdP:

  1. En la configuración de la conexión SSO → pestaña Mapeo de Roles
  2. Asigna valores de grupos del IdP (desde un atributo SAML groups o claim OIDC) a roles de Auris
  3. Los mapeos de roles se aplican en cada inicio de sesión — si un usuario es eliminado de un grupo del IdP, pierde el rol de Auris correspondiente en su próximo inicio de sesión

Ejemplo de mapeo:

  • Grupo del IdP AurisAdmins → Rol de Auris Administrator
  • Grupo del IdP AurisViewers → Rol de Auris Viewer

Endpoints de la API

GET/api/organizations/:orgId/sso/connectionsRequires: view:sso_connections

Lista todas las conexiones SSO para una organización, incluyendo el tipo de conexión, estado y asociaciones de dominio.

POST/api/organizations/:orgId/sso/connectionsRequires: manage:sso_connections

Crea una nueva conexión SSO. El cuerpo incluye type (saml u oidc), name y configuración específica del tipo.

PATCH/api/organizations/:orgId/sso/connections/:idRequires: manage:sso_connections

Actualiza la configuración de la conexión SSO o cambia el estado activo.

DELETE/api/organizations/:orgId/sso/connections/:idRequires: manage:sso_connections

Elimina una conexión SSO. Los usuarios que se autenticaron a través de esta conexión conservan sus cuentas pero pierden el método de inicio de sesión SSO.

POST/api/organizations/:orgId/sso/domainsRequires: manage:sso_connections

Añade un dominio a una organización para la detección SSO. Inicia el proceso de verificación DNS.

POST/api/organizations/:orgId/sso/domains/:domainId/checkRequires: manage:sso_connections

Activa la verificación del registro TXT de DNS para un dominio pendiente.


Consideraciones de Seguridad

Verificación de firma SAML — Auris valida las aserciones SAML usando el certificado de firma del IdP. Las aserciones no firmadas o firmadas incorrectamente son rechazadas.

State y nonce OIDC — El flujo OIDC usa un parámetro state para protección CSRF y un claim nonce para prevenir la reutilización de tokens.

Protección contra apropiación de dominio — Un dominio verificado solo puede ser reclamado por una organización por tenant. La reverificación tras una transferencia de dominio requiere una acción explícita del administrador.

Prevención de bypass — Una vez que un dominio está verificado y SSO está activo, los usuarios con ese dominio de correo son dirigidos al flujo SSO. No pueden omitir SSO e iniciar sesión con contraseña a menos que la conexión sea desactivada.

Si desactivas una conexión SSO para un dominio, los usuarios de ese dominio pueden no poder iniciar sesión si sus cuentas no tienen contraseña establecida (las cuentas aprovisionadas por JIT no tienen contraseña por defecto). Asegúrate de que los usuarios tienen un método de inicio de sesión alternativo antes de desactivar una conexión.


Guías Relacionadas