Autenticar usuarios a través de SAML 2.0
En este tutorial te mostraremos cómo puedes integrar con tus clientes utilizando SAML.
⚠️ La integración SAML está disponible en el plan Enterprise.
Con SAML un cliente B2B (Colegios, Universidades, etc) puede dar acceso a las publicaciones que contrate contigo, directamente desde su pagina web, sin que los usuarios deban frmarse por segunda vez en tu tienda.
¿Como funciona? SAML (Security Assertion Markup Language) es un estándar de código abierto basado en XML que permite el intercambio de información, tanto de autenticación como de autorización, entre diferentes partes: un identity provider (proveedor de identidad, parte de la intranet o campus virtual de tu cliente) y un service provider (proveedor de servicios, tú a través de tu tienda publica.la).
⚠️Algunos proveedores de identidad que funcionan con esta integración son: Google Suite, Open Athens y Azure AD y Shibboleth.
¿CÓMO FUNCIONA?

Cada usuario registrado a través del SAML se crea de manera automática en la plataforma, por lo cual las siguientes herramientas y estadísticas son de carácter individual :
- Estadísticas de lectura
- Highlights (resaltados)
- Notas
📹Te dejaremos aquí el instructivo completo.
IDENTIFICACIÓN DE USUARIOS
Cada usuario se identifica por un identificador estable que envía el proveedor de identidad (por ejemplo, su usuario institucional) y, cuando está disponible, por su correo electrónico. Gracias a ese identificador, un mismo usuario mantiene una única cuenta aunque ingrese desde distintas integraciones.
💡 Para que funcione correctamente, pídele a la institución que su idP libere (release) un atributo estable de identificación y el correo de cada usuario. Si el idP no envía un identificador estable, se creará una cuenta nueva en cada inicio de sesión.
CONFIGURACIÓN
Para establecer la conexión entre la institución y tu biblioteca/tienda (es decir, identificar a tu cliente desde nuestro lado) debes solicitarle a la institución los siguientes datos:
- Entity id
- Url del singleSignOnService
- Url del singleLogOutService
- Certificado x509cert.
💡 Todos estos datos pueden encontrarlos en el archivo XML de metadatos de su idP (identidy provider).
Una vez que tengas estos datos:
1. Ingresa a Panel de Control -> Ajustes -> Integraciones, Configuraciones de SAML:

2. Haz clic en Crear, y se abrirá la siguiente ventana:

Allí deberas completar los campos con los datos que te indicó tu cliente.
En Clave del consumidor puedes agregar el nombre de tu cliente o algo que haga referencia al mismo. Por ejemplo: " universidad-san-blas ".
3. Una vez completados los datos, marca si deseas Permitir el acceso total a las publicaciones o si deseas Asignar automáticamente un plan a los usuarios.

Cuando hayas terminado de completar todos los campos haz clic en Guardar.
¡ Ya hemos terminado de configurar desde el lado de tu tienda! 🙌🏼
Ahora te mostraremos cómo obtener los datos para que tu cliente nos agregue como aplicación desde el idP.
4. Haz clic en Editar:

Y se abrirá esta ventana en donde tendrás disponibles la URL de inicio de sesión y la URL de metadatos que debes compartir con tu cliente:

💡 Referencia técnica: el detalle del protocolo, los endpoints y el mapeo de atributos (incluido external_id) están en la documentación de integraciones: https://docs.publica.la/auth-integrations/auth-saml
⚠️ Los usuarios que ingresan por SAML se crean como usuarios regulares. Para acceder al Panel de Control, un administrador debe iniciar sesión con email y contraseña (el acceso por SSO no otorga permisos de administrador).
SOLUCIÓN DE PROBLEMAS
| Síntoma | Causa probable | Qué hacer |
|---|---|---|
| Aparece el formulario de login | La aserción no incluye email ni identificador | Pedir a la institución que su idP libere esos atributos |
| Se crea una cuenta nueva en cada inicio de sesión | NameID transitorio, sin atributo estable | Pedir el envío de un identificador estable |
| Todos los usuarios comparten la misma cuenta | El idP envía el mismo identificador para todos | Revisar la configuración de atributos por usuario |
| El certificado es rechazado | Certificado x509 vencido o incorrecto | Solicitar el certificado x509 vigente |
Esperamos que este tutorial te haya resultado sencillo. Si tienes consultas escríbenos a [email protected].