§ 00Qué es SAML SSO
SAML SSO conecta EasyLiveChat con el proveedor de identidad que tu empresa ya ejecuta — Okta, Microsoft Entra, Google Workspace o cualquier otro IdP SAML 2.0. Cuando un agente hace clic en el tile de EasyLiveChat en el panel del IdP (o visita un marcador), rebota al IdP, inicia sesión allí con la contraseña que ya usa para todo lo demás, y vuelve a la bandeja de entrada de EasyLiveChat. Nunca se escribe una contraseña de EasyLiveChat.
Si alguna vez has hecho clic en “Iniciar sesión con Google” en una web, has usado la versión de consumidor de este patrón. SAML es el equivalente corporativo — la web (nosotros) confía en lo que el proveedor de identidad (tu Okta / Microsoft / Google) diga sobre quién es el usuario.
EasyLiveChat nunca opera el proveedor de identidad. Tú aportas el tuyo. Nosotros proveemos el extremo receptor.
§ 01Disponibilidad por plan
SAML SSO es una función Enterprise. También se desbloquea durante la prueba gratuita de 14 días para que puedas evaluar la configuración antes de decidir.
| Plan | SAML SSO |
|---|---|
| Prueba gratuita | Desbloqueado durante la prueba |
| Starter | Bloqueado |
| Growth | Bloqueado |
| Enterprise | Incluido |
§ 02Valores para tu admin de IdP
Estos son los identificadores del lado de EasyLiveChat que tu IdP necesita conocer. Sustituye <slug> por el slug de tu workspace. La página /settings/sso muestra todos con botones de copiar.
| URL de SSO / ACS | https://api.livechattools.com/api/saml/<slug>/callback |
| Audiencia / ID de entidad SP | https://api.livechattools.com/api/saml/<slug>/metadata |
| Formato de Name ID | Dirección de correo |
| Atributo requerido | email (o NameID = email) |
| Aserción firmada | Requerida (la respuesta firmada es opcional) |
La mayoría de los IdPs también pueden importar un documento XML de metadatos directamente — la URL de metadatos coincide con el ID de entidad y devuelve el XML generado por nuestro backend.
§ 03Configurar Okta
Estos pasos asumen que tienes acceso de administrador a tu workspace de Okta. La capa Okta dev es gratuita y sirve para evaluación.
- Inicia sesión en el panel de admin de Okta → Applications → Create App Integration → SAML 2.0.
- Pon nombre a la app (p. ej. “EasyLiveChat”) y haz clic en Next.
- En el paso Configure SAML, rellena estos campos con los valores de tu página /settings/sso:
- Single sign-on URL → la URL de ACS que te dimos.
- Marca “Use this for Recipient URL and Destination URL”.
- Audience URI (SP Entity ID) → el ID de entidad que te dimos.
- Name ID format → EmailAddress.
- Application username → Email.
- Attribute Statements → añade una fila:
email→user.email— Name format Basic.
- Haz clic en Next → “I'm an Okta customer adding an internal app” → Finish.
- En la pestaña Sign On de la nueva app → “View SAML setup instructions”. Copia la IdP Single Sign-On URL, el IdP Issuer y el X.509 Certificate (en formato PEM, con marcadores BEGIN/END).
- Asigna la app a usuarios cuyos correos coincidan con los agentes existentes en tu workspace de EasyLiveChat (People → Assignments).
§ 04Configurar Microsoft Entra (Azure AD)
Estos pasos asumen que tienes el rol Global Administrator o Application Administrator en Microsoft Entra.
- Entra admin → Enterprise applications → New application → Create your own application → nombra (p. ej. “EasyLiveChat”) → Non-gallery app.
- Abre la nueva app → Single sign-on → SAML.
- Basic SAML Configuration → establece Identifier (Entity ID) y Reply URL (ACS) con los valores de tu página /settings/sso.
- Attributes & Claims → asegúrate de que haya un claim que transporte el email del usuario. O bien usa el claim emailaddress por defecto y pega su URI en el campo “Email claim” de EasyLiveChat, o añade un nuevo claim llamado email con valor user.mail.
- SAML Signing Certificate → descarga el archivo “Certificate (Base64)” .cer. Ábrelo en un editor de texto y copia todo el contenido PEM (con marcadores BEGIN/END) en el campo de certificado de firma de EasyLiveChat.
- En “Set up <app name>”, copia la Login URL (→ IdP entry URL en EasyLiveChat) y el Microsoft Entra Identifier (→ IdP issuer). Asigna usuarios desde Users and groups.
§ 05Configurar Google Workspace
Estos pasos asumen que eres Super Admin de Workspace.
- Google admin → Apps → Web and mobile apps → Add app → Add custom SAML app. Dale un nombre como “EasyLiveChat”.
- En el paso IdP details, descarga el certificado X.509 y copia la SSO URL y el Entity ID.
- En el paso Service provider details, pega la ACS URL y el Entity ID de tu página /settings/sso. Define Name ID format como EMAIL y Name ID como Basic Information > Primary email.
- Attribute mapping → mapea Primary email → atributo email de la app.
- Termina, luego activa la app para la unidad organizativa cuyos usuarios deben poder iniciar sesión. Guarda el certificado y las URLs en EasyLiveChat.
§ 06Configurar en EasyLiveChat
Abre https://app.livechattools.com/settings/sso. y pega los cuatro valores que acabas de recopilar de tu IdP:
- IdP entry URL — La URL de single sign-on que te dio el IdP (p. ej. https://yourcompany.okta.com/app/exk.../sso/saml).
- IdP issuer — El identificador de entidad del IdP (a veces llamado Issuer URL o Entity ID en el lado del IdP).
- Certificado de firma del IdP (PEM) — Pega el certificado X.509 incluyendo los marcadores BEGIN CERTIFICATE / END CERTIFICATE.
- Claim de email (opcional) — Déjalo en blanco para usar el NameID. Pega un URI de claim si tu IdP envía el email bajo un nombre de atributo específico.
Haz clic en Save. La etiqueta de estado pasa a CONFIGURED y la URL de login SP-initiated aparece al final de la página.
§ 07Cómo entran los agentes
Dos caminos — ambos terminan en el mismo sitio (tu bandeja de entrada), autenticados con un token de sesión nuevo.
- SP-initiated — Envía a los agentes a
https://api.livechattools.com/api/saml/<slug>/login. Esta URL apta para marcadores los lleva al IdP y los trae de vuelta. - IdP-initiated — Los agentes hacen clic en el tile de EasyLiveChat desde el dashboard de apps de su IdP (Okta dashboard, Microsoft 365 app launcher, Google Workspace app launcher). Aterrizan directamente en la bandeja de entrada de EasyLiveChat.
§ 08Asignación de agentes
EasyLiveChat empareja al usuario SAML con una fila de Agent existente por email — el usuario autenticado por el IdP debe existir ya como agente en tu workspace. No creamos agentes automáticamente en el primer login SSO (sin provisión “just-in-time” por ahora) para que el SSO no eluda la gobernanza de invitaciones de tu equipo.
Si el usuario SAML no tiene un agente correspondiente, el callback redirige a la página de login de EasyLiveChat con reason=agent_not_found. Invita al usuario desde Settings → Team con el email exacto que envía el IdP y vuelve a intentarlo.
§ 09Solución de problemas
Si un login falla, EasyLiveChat redirige a /login?saml_error=1&reason=<code>. El código te dice qué salió mal:
| reason= | Qué pasó | Solución |
|---|---|---|
| missing_response | El IdP no envió una SAMLResponse a nuestro callback. | Vuelve a comprobar la ACS / Single Sign-On URL en el lado del IdP — debe ser exactamente la callback URL que te mostramos, incluyendo el slug del workspace. |
| validation_failed | Recibimos un SAMLResponse pero la firma no se pudo validar. | El certificado de firma pegado en /settings/sso debe coincidir con el certificado de firma real del IdP. Vuelve a copiar el PEM (incluyendo marcadores BEGIN/END) desde el IdP. |
| no_email | Firma correcta pero sin email en la assertion. | Asegúrate de que el IdP envíe el email del usuario — ya sea como NameID (con formato EmailAddress) o como claim. Si es un claim, pega su URI en el campo Email claim. |
| agent_not_found | El email que el IdP asegura no está en tu lista de agentes. | Invita al usuario desde Settings → Team con ese email exacto, luego vuelve a intentar el login. |