Configuración de ONLYOFFICE SP e IdP Shibboleth
Introducción
Inicio de sesión único (SSO) es una tecnología que permite a los usuarios iniciar sesión solo una vez y luego obtener acceso a múltiples aplicaciones/servicios sin necesidad de autenticación adicional.
Si un portal web incluye varias secciones grandes e independientes (foro, chat, blogs, etc.), un usuario puede realizar el procedimiento de autenticación en uno de los servicios y automáticamente obtener acceso a todos los demás servicios sin ingresar las credenciales varias veces.
El SSO siempre se garantiza mediante la operación conjunta de dos aplicaciones: un Proveedor de Identidad y un Proveedor de Servicios (en adelante referidos como "IdP" y "SP"). ONLYOFFICE SSO implementa solo el SP. Muchos proveedores diferentes pueden actuar como IdP, pero este artículo considera la implementación de Shibboleth.
Si deseas usar SSO al conectar ONLYOFFICE Desktop Editors a tu ONLYOFFICE Workspace, desactiva las Salas Privadas en el Panel de Control.
Preparación de ONLYOFFICE Workspace para la configuración de SSO
- Instala ONLYOFFICE Workspace v. 11.0.0 para Docker o cualquier versión posterior con soporte para SSO.
- Agrega un nombre de dominio, por ejemplo,
myportal-address.com. - En tu portal, ve al Panel de Control > HTTPS, crea y aplica el certificado de letsencrypt para la encriptación del tráfico (para habilitar HTTPS en tu portal).
Creación de Shibboleth IdP
Requisitos
-
Para desplegar Shibboleth IDP, se requiere una máquina anfitriona CentOS 7 limpia.
-
El tiempo debe estar configurado correctamente y el servicio de sincronización de tiempo debe estar instalado en la máquina anfitriona para IDP:
timedatectl statusyum install ntpsystemctl enable ntpd.servicentpdate time.apple.com -
El paquete
unzipdebe estar instalado en la máquina:yum install unzip -
Docker y Docker Compose deben estar instalados en la máquina.
-
Un nombre de dominio debe estar asociado con la máquina (por ejemplo,
your-idp-domain.com)
Creación de Shibboleth IdP
Para crear, configurar e iniciar Shibboleth IDP, descarga y ejecuta el script install.sh.
Esto es lo que hace el script:
- descarga archivos docker para crear imágenes y contenedores de Shibboleth Idp desde github,
- cambia el dominio predeterminado
idptestbed.eduen los archivos de configuración al dominio especificado al ejecutar el script, - agrega acceso a través del protocolo SAML para el dominio SP de ONLYOFFICE especificado,
- especifica qué atributos son necesarios para que el SP de ONLYOFFICE emita información sobre los usuarios desde Shibboleth IDP (la configuración de Mapeo de Atributos),
- crea y configura LDAP y crea usuarios para emisión,
- habilita la carga dinámica de metadatos desde el SP de ONLYOFFICE a Shibboleth IDP,
- habilita Shibboleth SLO, si es necesario.
-
Descarga el script install.sh:
curl -L https://raw.githubusercontent.com/ONLYOFFICE/helpcenter-scripts/master/workspace/control-panel-sso-shibboleth/install.sh -o install.sh -
Haz el script ejecutable:
chmod +x install.sh -
Ejecuta el script reemplazando los parámetros con los tuyos:
./install.sh -id your-idp-domain.com -sd myportal-address.com --no_sloParámetros del script:
- -id - un nombre de dominio de la máquina actual para Shibboleth IDP.
- -sd - un nombre de dominio donde está desplegado ONLYOFFICE SP.
- --no_slo - desactiva el Cierre de Sesión Único en Shibboleth IDP (parámetro opcional).
-
Espera a que Shibboleth IDP se inicie después de ejecutar el script.
-
Para verificar que Shibboleth IDP se inició correctamente, abre el enlace
https://your-idp-domain.com/idp/shibbolethen tu navegador. Debería mostrarse un archivo XML. -
Copia el enlace
https://{your_idp_domain}/idp/shibboleth(por ejemplo,https://your-idp-domain.com/idp/shibboleth) y ve al portal de ONLYOFFICE iniciando sesión como administrador. Abre la página Panel de Control > SSO.
Configuración de ONLYOFFICE SP
-
Asegúrate de haber iniciado sesión como Administrador en tu Panel de Control de ONLYOFFICE y haz clic en la pestaña SSO en la sección CONFIGURACIÓN DEL PORTAL en la barra lateral izquierda.
notaSolo puedes registrar un proveedor de identidad empresarial para tu organización en el portal de ONLYOFFICE.

-
Habilita SSO usando el interruptor Habilitar Autenticación de Inicio de Sesión Único y pega el enlace al IdP de Shibboleth en el campo URL a Idp Metadata XML.
-
Presiona el botón con la flecha hacia arriba para cargar los metadatos del IdP. El formulario de Configuración de ONLYOFFICE SP se completará automáticamente con tus datos del IdP de Shibboleth.
Como desactivamos SLO al ejecutar el script install.sh especificando el parámetro
--no_slo, el campo URL de Punto Final de Cierre de Sesión Único del IdP estará vacío. -
Una vez que se carguen los metadatos del IdP, se agregarán dos certificados en la sección Certificados Públicos del IdP. También verás la ventana emergente con el siguiente texto: 'No se admiten múltiples certificados de verificación de IdP. Por favor, deja solo el certificado Principal'.
Debes eliminar el segundo certificado en la lista y dejar solo el primer certificado, que es el certificado principal. Usa el enlace Eliminar junto al segundo certificado para eliminarlo. Si no eliminas el certificado, no podrás guardar la configuración.
-
En el campo Texto personalizado del botón de inicio de sesión, puedes ingresar cualquier texto en lugar del predeterminado (Inicio de Sesión Único). Este texto se mostrará en el botón utilizado para iniciar sesión en el portal con el servicio de Inicio de Sesión Único en la página de autenticación de ONLYOFFICE.
-
Ahora necesitas crear certificados autofirmados o agregar cualquier otro certificado en la sección Certificados SP.
¡Importante!En la lista Usar para, elige la opción firmar y encriptar ya que tu Shibboleth IdP está configurado automáticamente con el script install.sh para verificar que los datos estén firmados digitalmente y encriptados.

Deberías obtener un resultado casi idéntico:

-
En la sección Mapeo de Atributos, establece la correspondencia de los campos en el módulo de Personas de ONLYOFFICE con los atributos de usuario que serán devueltos desde el Shibboleth IdP.
Campo Atributo Nombre urn:oid:2.5.4.42Apellido urn:oid:2.5.4.4Correo Electrónico urn:oid:0.9.2342.19200300.100.1.3Ubicación urn:oid:2.5.4.7Título urn:oid:2.5.4.12Teléfono urn:oid:0.9.2342.19200300.100.1.41
En la sección Configuración Avanzada, puedes marcar la opción Ocultar página de autenticación para ocultar la página de autenticación predeterminada y redirigir automáticamente al servicio SSO.
ImportanteSi necesitas restaurar la página de autenticación predeterminada (para poder acceder al portal si tu servidor IDP falla), puedes agregar la clave
/Auth.aspx?skipssoredirect=truedespués del nombre de dominio de tu portal en la barra de direcciones del navegador. -
Haz clic en el botón Guardar.
-
Se debería abrir la sección Metadatos de ONLYOFFICE SP.
-
Verifica que nuestra configuración esté públicamente disponible haciendo clic en el botón Descargar XML de Metadatos SP. El contenido del archivo XML debería mostrarse.

Este archivo xml se utiliza generalmente para configurar Shibboleth IDP, pero debido a que el script install.sh habilita
DynamicHTTPMetadataProvider, no necesitamos hacerlo (Shibboleth IDP descargará este archivo xml en la primera solicitud de inicio de sesión).
Comprobación del funcionamiento de ONLYOFFICE SP con Shibboleth IdP
El script install.sh creó 4 usuarios que pueden usarse para probar el funcionamiento de ONLYOFFICE SP con Shibboleth IdP.
| Correo Electrónico | Nombre de Usuario | Contraseña | Comentario |
|---|---|---|---|
student1@{your_idp_domain} | student1 | password | Estándar |
student2@{your_idp_domain} | student2 | password | Sin givenName |
student3@{your_idp_domain} | student3 | password | Con diéresis |
staff1@{your_idp_domain} | staff1 | password | Solo campos obligatorios |
Iniciando sesión en ONLYOFFICE desde el lado SP
-
Ve a la página de Autenticación de ONLYOFFICE (por ejemplo,
https://myportal-address.com/Auth.aspx). -
Haz clic en el botón Inicio de sesión único (el texto puede diferir si has especificado tu propio texto al configurar ONLYOFFICE SP). Si el botón no está presente, significa que SSO no está habilitado.

-
Si todos los parámetros de SP e IdP están configurados correctamente, serás redirigido al formulario de inicio de sesión de Shibboleth IdP:
-
Introduce el nombre de usuario y la contraseña de la cuenta Shibboleth IdP (nombre de usuario:
student1, contraseña:password) y marca la casilla No recordar inicio de sesión. -
Si las credenciales son correctas, se abrirá una nueva ventana. Permite la provisión de información al servicio haciendo clic en el botón Aceptar.

-
Si todo es correcto, serás redirigido a la página principal del portal. El usuario se creará automáticamente si no existe, o los datos se actualizarán si han cambiado en el IdP.

Perfiles para usuarios añadidos con autenticación SSO
La posibilidad de editar perfiles de usuario creados mediante la autenticación SSO está restringida. Los campos del perfil de usuario recibidos del IdP están deshabilitados para edición (es decir, Nombre, Apellido, Correo Electrónico, Título y Ubicación). Puedes editar estos campos solo desde tu cuenta IdP.
La figura a continuación muestra el menú de Acciones para un usuario SSO:

La siguiente figura muestra un perfil de usuario SSO abierto para edición:

Los usuarios creados usando la autenticación SSO están marcados con el icono SSO en la lista de usuarios para los administradores del portal:

Para cerrar sesión en el Shibboleth IdP (si no has marcado la casilla No recordar inicio de sesión al iniciar sesión), ve al enlace que se ve así: https://{shibboleth-idp-domain}/idp/profile/Logout