- Inicio
- DocSpace
- Configuración
- Keycloak IdP
Keycloak IdP
Introducción
Single Sign-on (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 autenticarse nuevamente.
El SSO siempre se garantiza mediante la operación conjunta de dos aplicaciones: un Proveedor de Identidad y un Proveedor de Servicios (también llamados "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 Keycloak.
Creando un IdP en Keycloak
- Regístrate en Keycloak como administrador.
- Ve a Gestionar dominios y selecciona el dominio donde se configurará la conexión.
- Ve a Clientes y haz clic en el botón Crear cliente.
-
En la página que se abre, establece lo siguiente: En el campo Tipo de cliente, selecciona SAML, en el campo ID del cliente, ingresa
https://myportal-address.com/sso/metadata, reemplazando myportal-address.com con el nombre de dominio de tu portal. En los campos Nombre y Descripción, ingresa cualquier nombre y descripción para el cliente.
- Haz clic en el botón Siguiente.
-
Completa los siguientes campos:
Reemplaza myportal-address.com con el nombre de dominio de tu portal.
Detalles de la aplicación URL raíz https://myportal-address.com/sso URL de inicio https://myportal-address.com/sso URIs de redirección válidos https://myportal-address.com/sso/slo/callback
https://myportal-address.com/sso/acsURIs de redirección válidos después de cerrar sesión https://myportal-address.com/sso/slo/callback URL de procesamiento SAML principal https://myportal-address.com/sso/acs
Completa los siguientes campos en la pestaña Avanzado:
URL de enlace POST del servicio de consumidor de aserciones https://myportal-address.com/sso/acs URL de enlace de redirección del servicio de consumidor de aserciones https://myportal-address.com/sso/acs URL de enlace POST del servicio de cierre de sesión https://myportal-address.com/sso/slo/callback URL de enlace de redirección del servicio de cierre de sesión https://myportal-address.com/sso/slo/callback
- Haz clic en el botón Guardar.
- En la sección Capacidades SAML, selecciona Formato de ID de nombre como correo electrónico.
-
En la sección Firma y Cifrado, habilita la opción Firmar Aserciones y selecciona un algoritmo de firma: RSA_SHA1, RSA_SHA256 o RSA_SHA512.
- Haz clic en el botón Guardar.
-
Ve a la sección Ámbitos del cliente y haz clic en el enlace con el nombre de tu portal https://myportal-address.com/sso/metadata-dedicated.
Haz clic en el botón Agregar mapeadores predefinidos, y en la ventana emergente, selecciona los siguientes mapeadores:
- X500 email
- X500 givenName
- X500 surname
Luego haz clic en el botón Agregar.
Configurando ONLYOFFICE SP
- Asegúrate de haber iniciado sesión como Administrador en tu ONLYOFFICE DocSpace y ve al menú Configuración, selecciona la sección Integración y abre la pestaña Single Sign-On.
-
Habilita SSO usando el interruptor Habilitar autenticación de Single Sign-on y pega https://<keycloakurl>/realms/<realm_name>/protocol/saml/descriptor en el campo URL para el XML de metadatos de IdP. Reemplaza <keycloakurl> y <realm_name> con la dirección de tu servidor Keycloak y el nombre del dominio donde se creó la conexión. El enlace final debe ser accesible desde un navegador.
- Presiona el botón con la flecha hacia arriba para cargar los metadatos de IdP. El formulario de Configuración de ONLYOFFICE SP se completará automáticamente con tus datos del IdP de Keycloak.
-
Selecciona el mismo Algoritmo de Verificación de Firma Predeterminado que el especificado en Keycloak.
-
Cambia el Formato de NameId a emailAddress.
- Ahora necesitas crear un certificado en la sección Certificados SP. Para hacerlo, haz clic en el botón Agregar certificado en la sección correspondiente.
-
En la ventana modal que se abre, haz clic en el botón Generar nuevo certificado autofirmado
enlace, y elige la opción firmar y cifrar en la lista Usar para. Antes de guardar el certificado, copia el texto del Certificado Público al portapapeles y guárdalo en un archivo (será necesario para Keycloak), luego haz clic en el botón OK.
-
Ve a la sección Mapeo de Atributos y asigna los siguientes valores a los atributos:
- Nombre: urn:oid:2.5.4.42
- Apellido: urn:oid:2.5.4.4
- Email: urn:oid:1.2.840.113549.1.9.1
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.
Si necesitas restaurar la página de autenticación predeterminada (para poder acceder al portal si tu servidor IDP falla), puedes agregar la clave /login?skipssoredirect=true después del nombre de dominio de tu portal en la barra de direcciones del navegador.
- Haz clic en el botón Guardar.
- Regresa a Keycloak para configurar el cifrado, abre tu cliente y ve a la sección Claves. Desactiva la opción Firma de cliente requerida y activa Cifrar afirmaciones. En la ventana emergente, selecciona Importar, establece el Formato de archivo en Certificado PEM y haz clic en el botón Examinar. Especifica la ruta al archivo de certificado desde el paso 7 y haz clic en Confirmar.
Comprobando el funcionamiento del ONLYOFFICE SP con el IdP de Keycloak
- Ve a la página de Autenticación de ONLYOFFICE DocSpace (por ejemplo, https://miportal-direccion.com/login).
-
Haz clic en el botón Inicio de sesión único. Si el botón no está, significa que el SSO no está habilitado.
-
Si todos los parámetros de SP e IdP están configurados correctamente, seremos redirigidos al formulario de inicio de sesión de IdP de Keycloak:
- Introduce el usuario y la contraseña del usuario de Keycloak y haz clic en el botón Iniciar sesión.
-
Si las credenciales son correctas, seremos redirigidos a la página principal del portal (el usuario se creará automáticamente si falta, o los datos se actualizarán si han cambiado en el IDP).