Qué ofrece y qué se necesita

SAML2 permite a los usuarios iniciar sesión en el sitio Stream con su cuenta organizativa (por ejemplo, Microsoft 365), sin una contraseña separada del sistema, según la política de la organización.

  • Se requiere acceso de administrador a la página de configuración del sistema (/admin/settings).
  • El sistema utiliza SimpleSAMLphp como servicio SAML (SP) con el nombre default-sp.
  • Debe generar el certificado SP, enviar los metadatos del SP al proveedor de identidad (o completar los campos manualmente) y luego cargar aquí los metadatos del IdP (archivo XML).

Antes de empezar: HTTPS y dirección del sitio

Importante: En el entorno de producción, el sitio debe accederse solo mediante HTTPS. El certificado SP, el identificador de entidad (Entity ID) y las direcciones ACS se derivan de la URL real; si el servidor o el proxy no informan correctamente sobre HTTPS, los metadatos y la conexión SAML pueden ser inconsistentes.

En el área de configuración general, asegúrese de que la URL de Stream (la dirección base pública del sitio) esté configurada con https:// y sin barra final innecesaria (o según la configuración de la organización). Esta dirección también se utiliza para operaciones internas como la descarga de metadatos desde el servidor.

Configuración en la interfaz de administrador (Stream)

Acceda a configuración del sistema (/admin/settings) y siga este orden:

1. Activar SSO

En el área de configuración avanzada, marque Permitir autenticación mediante SSO (allow_sso_auth) para permitir que los usuarios utilicen la ruta de inicio de sesión único (según cómo se muestre el botón de inicio de sesión en el sitio).

2. Área «Conexión SAML2»

  1. Generar certificado (SP) – crea una clave privada y un certificado (saml.pem, saml.crt) en la carpeta saml2/cert/ y actualiza authsources.php. Sin este paso no habrá metadatos válidos para enviar al IdP.
  2. Descargar metadatos SP – descarga un archivo XML del proveedor de servicios (SP) que debe introducirse en el proveedor de identidad (por ejemplo, cargándolo en una aplicación en Entra ID), o extraer de él la dirección Entity ID y la dirección ACS.
  3. Cargar metadatos (IdP) – una vez configurado el proveedor de identidad, descargue de él el archivo XML de metadatos del IdP y cárguelo aquí. El archivo se guarda y el sistema actualiza el archivo de metadatos remoto (saml20-idp-remote.php) y el enlace del IdP en authsources.php.

En la parte superior del área se muestra el estado (certificado, configuración, si el IdP está conectado). Tras cargar los metadatos del IdP, el estado debería indicar una conexión completa.

Consejo: Las acciones SAML (generar certificado y cargar metadatos) se realizan pulsando los botones correspondientes; los cambios en el resto de la configuración se guardan pulsando Guardar al final de la página.

Direcciones técnicas (SP) para copiar

Reemplace https://your-domain.example con su dirección de producción (con https).

Función Ruta típica
Metadatos del SP (XML público) …/saml2/public/module.php/saml/sp/metadata.php/default-sp
ACS (Reply URL) – recepción de respuesta SAML …/saml2/public/module.php/saml/sp/saml2-acs.php/default-sp
Cierre de sesión único (SLO), si es necesario …/saml2/public/module.php/saml/sp/saml2-logout.php/default-sp
Acceso al sitio (inicio SP) https://your-domain.example/sso.php

Identificador de entidad (Entity ID) del SP: normalmente en la forma https://your-domain.example/ (con barra final), según la solicitud al servidor al crear los metadatos. Los valores exactos aparecen en el archivo XML descargado.

Ejemplo de dirección completa para metadatos:

https://your-domain.example/saml2/public/module.php/saml/sp/metadata.php/default-sp

Conexión en Microsoft Entra ID (Microsoft 365)

Los siguientes pasos siguen el flujo de trabajo habitual en la interfaz de Entra ID para crear una aplicación SAML, y pueden combinarse con la guía interna de Azure de la organización (incluidas las capturas de pantalla detalladas allí).

1. Crear una aplicación empresarial

  • En el portal de Azure: Microsoft Entra IDAplicaciones empresariales (Enterprise applications) → Nueva aplicación.
  • Seleccione Crear su propia aplicación, asigne un nombre (por ejemplo, Stream – SAML) y elija la integración basada en SAML / SSO único, según las opciones de la interfaz.

2. Configuración SAML – lado Entra (básico)

En la aplicación seleccionada: Administrar SSO únicoSAML.

  • Cargar metadatos del SP – si Entra permite cargar un archivo, use el archivo XML descargado de Stream («Descargar metadatos SP»). Esto completa automáticamente muchos de los campos.
  • O completar manualmente (Basic SAML Configuration):
    • Identifier (Entity ID) – según aparece en los metadatos del SP (normalmente https://your-domain.example/).
    • Reply URL (Assertion Consumer Service URL) – la dirección ACS de la tabla anterior.
    • Sign on URL – a veces necesaria para la experiencia de inicio de sesión iniciada por el SP; pruebe https://your-domain.example/sso.php si la interfaz requiere un valor.
  • Guarde la configuración.

3. Descargar metadatos del IdP para Stream

En la misma pantalla SAML, descargue el Federation Metadata XML (a veces descrito como «Certificate» o «Download Federation Metadata»).

Vuelva a Stream → Configuración del sistemaConexión SAML2Cargar metadatos (IdP) y cargue el archivo.

4. Asignar usuarios

En Entra: en la aplicación → Usuarios y grupos → añada los usuarios o grupos autorizados a conectarse a través de la aplicación.

Documentación de Microsoft: Los nombres de menús y botones pueden variar entre versiones del portal; si algo no coincide, use la búsqueda del portal con «SAML-based SSO» o «Enterprise application» y compare con los campos de la tabla anterior.

Identificadores y claims – Microsoft 365

Cuando el proveedor de identidad es Microsoft Entra ID, el sistema puede identificar la respuesta según claims habituales (incluido el identificador de inquilino). Para completar el perfil del usuario se utilizan, entre otros:

  • Dirección de correo electrónico
  • Nombre y apellidos
  • Nombre de usuario / identificador único

En Entra ID, en Atributos y claims de usuario (User Attributes & Claims), asegúrese de que los claims enviados en el token SAML incluyan al menos el correo electrónico y el nombre, según la política de la organización. Si falta un claim, es posible que el usuario no se identifique o se cree una cuenta parcial.

Un usuario existente en Stream se identifica por su dirección de correo electrónico; si no hay un usuario con el mismo correo, el sistema puede crear un usuario nuevo (según la configuración de registro y activación del sitio).

Prueba y resolución de problemas

  • Abra una ventana de navegación privada y acceda a https://your-domain.example/sso.php – debería redirigir al inicio de sesión organizativo y luego volver al sitio.
  • Si la descarga de metadatos SP falla con un mensaje de error, compruebe que la dirección base del sitio esté configurada con HTTPS y que el archivo público de SimpleSAMLphp sea accesible desde el servidor.
  • Si Entra devuelve un error SAML, compruebe exactamente el Reply URL y el Entity ID frente al archivo XML del SP.
  • Asegúrese de que la aplicación en Entra esté asignada al usuario de prueba.

Enlace rápido a la configuración general del sistema: guía de configuración del sistema.