Borre la advertencia de ownCloud Apache .htaccess de forma segura.
Configure AllowOverride All solo para la raíz web de ownCloud, valide el vhost Apache activo y recargue de forma segura para restaurar las reglas de .htaccess.
A menudo, los usuarios acceden a la página de inicio de sesión de Keycloak, se autentican y luego regresan a la pantalla de inicio de sesión de ownCloud Infinite Scale, o ven un error de "usuario desconocido". Las causas habituales son un emisor de dominio que no coincide, un cliente web copiado de una versión de ejemplo diferente o una declaración de identidad que no coincide con una cuenta de oCIS. Configure Keycloak como proveedor externo de OpenID Connect (OIDC) de oCIS, alinee estos tres valores y verifique que el navegador y los clientes puedan acceder al proveedor a través de HTTPS.
Este tutorial utiliza hosts ficticios: cloud.example.comuno para oCIS y otro sso.example.compara Keycloak. La configuración hace referencia a la documentación de ownCloud Infinite Scale 8.2; compare los nombres con la documentación de su versión instalada antes de aplicarlos. Esto se aplica a Infinite Scale (oCIS), no a ownCloud Server 10.
Un proveedor de identidad (IdP) autentica a los usuarios para otro servicio. OpenID Connect es el protocolo de inicio de sesión que permite a oCIS confiar en la información de inicio de sesión e identidad de Keycloak. Un reino es el conjunto independiente de usuarios, clientes y configuraciones de Keycloak. Elija el reino que servirá a oCIS y, a continuación, identifique su URL emisora: para el reino de ejemplo ocis, es https://sso.example.com/realms/ocis.
Antes de editar oCIS, ábralo https://sso.example.com/realms/ocis/.well-known/openid-configurationen un navegador. Este documento de descubrimiento de OpenID Connect describe los puntos finales del proveedor. Confirme que su issuervalor coincide exactamente con la URL del dominio, incluyendo el esquema, el host, las mayúsculas y minúsculas, y la ruta. El emisor no debe ser la página de administración ni la URL de descubrimiento más larga. El certificado TLS del proveedor debe ser de confianza para los navegadores de los usuarios y para el servidor/contenedor de oCIS.

Si la URL de descubrimiento no carga, primero solucione los problemas de DNS, enrutamiento de proxy inverso, firewall o certificado. Una respuesta exitosa del navegador por sí sola no prueba que el contenedor oCIS pueda acceder a Keycloak; verifique también el acceso a la red desde la red de implementación del servidor. Las reglas de descubrimiento de OpenID Connect requieren que el emisor devuelto identifique al mismo proveedor. Consulte la especificación de descubrimiento de OpenID Connect .
Utilice el ejemplo de despliegue de ownCloud Keycloak mantenido como punto de partida y haga coincidir su archivo realm con su versión de oCIS. No mezcle versiones: el ejemplo de composición actual utiliza el ID de cliente web web, mientras que las notas de configuración anteriores indican ocis-web. Keycloak y oCIS deben usar el mismo ID de cliente.
En Keycloak, abre el dominio y el cliente web seleccionados. Adapta el flujo de inicio de sesión y el ID de cliente al ejemplo de ownCloud. Configura las URI de redireccionamiento válidas a las direcciones de devolución de llamada exactas que requiere ese dominio, utilizando el host HTTPS público. Configura los orígenes web solo según lo requiera la plantilla. El comodín que se muestra a continuación es ilustrativo, no una recomendación para producción: los patrones de redireccionamiento amplios pueden permitir destinos no deseados. Las etiquetas varían según la versión de Keycloak.

Mantenga estable el nombre de host público de Keycloak. Si TLS finaliza en un proxy inverso, configure su nombre de host público y los encabezados de proxy de confianza; de lo contrario, las redirecciones podrían usar el esquema o host incorrecto. Siga las instrucciones del proxy inverso de Keycloak . Reemplace las credenciales del administrador de demostración antes de exponer Keycloak.
Agregue estas variables al servicio oCIS en su configuración de implementación, conservando sus demás configuraciones y secretos. El ejemplo utiliza URL ficticias y el ID de cliente de ejemplo actual:
OCIS_URL=https://cloud.example.com
OCIS_OIDC_ISSUER=https://sso.example.com/realms/ocis
WEB_OIDC_CLIENT_ID=web
PROXY_OIDC_REWRITE_WELLKNOWN=true
OCIS_EXCLUDE_RUN_SERVICES=idp
OCIS_URLes la dirección pública de oCIS; el emisor y el ID del cliente deben coincidir exactamente con Keycloak. La reescritura habilita la ruta de descubrimiento utilizada por los clientes de escritorio, Android e iOS. Excluir idpdesactiva el proveedor integrado en implementaciones de IdP externo; omítalo si su configuración utiliza intencionalmente ese servicio.

Aplique los cambios con el proceso de reinicio habitual de su implementación. Con Docker Compose, ejecute docker compose up -ddesde el directorio compose para recrear los servicios modificados y, a continuación, revise los registros de oCIS. Utilice certificados TLS de confianza en producción. El ejemplo de ownCloud marca INSECURE=truecomo una opción de certificado autofirmado local; elimínela o establézcala en falso en un servidor con acceso a internet. ownCloud también indica que no se debe usar PROXY_OIDC_INSECUREen producción.
Una reclamación es un campo de identidad OIDC, como sub, preferred_username, o email. oCIS la utiliza para encontrar una cuenta. Para los usuarios existentes, asóciela al atributo que ya utilizan: nombre de usuario, correo electrónico o ID de usuario. Una discrepancia puede generar el mensaje "usuario no encontrado" después de que Keycloak acepte el inicio de sesión.
Para crear cuentas en el primer inicio de sesión, configúrelas PROXY_AUTOPROVISION_ACCOUNTS=truesolo cuando sea necesario y después de habilitar las escrituras en el backend de usuario de oCIS Graph. El identificador debe ser único, estable y nunca reasignarse. ownCloud lo identifica subcomo adecuado; use el correo electrónico o el nombre de usuario preferido solo si no puede cambiarlo. Mantenga alineadas las declaraciones de creación y búsqueda:
PROXY_AUTOPROVISION_ACCOUNTS=true
PROXY_AUTOPROVISION_CLAIM_USERNAME=sub
PROXY_USER_OIDC_CLAIM=sub
PROXY_USER_CS3_CLAIM=username
Confirme que Keycloak devuelve la declaración seleccionada en la respuesta del token o la información del usuario. Con el aprovisionamiento automático desactivado, no se crea un nuevo usuario al iniciar sesión; con un backend de Graph de solo lectura, el aprovisionamiento puede fallar. Agregue la asignación de grupo o rol solo después de que el inicio de sesión funcione. Consulte la documentación de ownCloud 8.2 sobre el proxy y el aprovisionamiento automático antes de habilitar el acceso de escritura o cambiar las asignaciones de identidad.
Abra oCIS en una ventana de incógnito e inicie sesión. Acceda al dominio de Keycloak, autentírese y regrese al mismo host de oCIS que la cuenta esperada. Pruebe primero con una cuenta existente. Si el aprovisionamiento está habilitado, pruebe con un nuevo usuario aprobado y confirme que se crea una vez con el nombre de usuario previsto. Cierre sesión y repita el inicio de sesión.

Para el descubrimiento de escritorio o móvil, abra https://cloud.example.com/.well-known/openid-configuration; la reescritura debería exponer la información del proveedor de Keycloak. Un bucle de inicio de sesión apunta a una discrepancia en el host de redirección o el esquema. Un usuario rechazado después de un inicio de sesión exitoso apunta a una reclamación faltante o una discrepancia entre PROXY_USER_OIDC_CLAIMy PROXY_USER_CS3_CLAIM.
Configure AllowOverride All solo para la raíz web de ownCloud, valide el vhost Apache activo y recargue de forma segura para restaurar las reglas de .htaccess.
Habilite la aplicación de auditoría empresarial de ownCloud, dirija los eventos de admin_audit a un archivo de registro protegido y confirme que se están registrando las acciones reales de los usuarios.
Alinea el emisor del reino, el cliente web y las reclamaciones de usuario de Keycloak para permitir que ownCloud Infinite Scale inicie sesión de forma fiable en los clientes web y móviles.
Transfiere los archivos propios y los recursos compartidos salientes con el comando occ de ownCloud, comprende qué se queda y verifica el acceso antes de eliminar la cuenta antigua.
Aprende cuándo los índices de la base de datos ownCloud 10 necesitan atención, cómo aplicar de forma segura las actualizaciones de esquema compatibles y cuándo la optimización de consultas o un cambio en la base de datos es la mejor solución.
Conecte un recurso compartido de red de Windows o Samba a ownCloud a través de Almacenamiento externo, verifique las credenciales y solucione los problemas de carpetas inaccesibles de forma segura.
Elimine todas las versiones de archivos almacenadas de ownCloud Server Classic para una cuenta o para todos los usuarios, y distinga entre una eliminación completa y la caducidad basada en la retención.
Para rastrear un rechazo de conexión móvil de ownCloud, verifique la URL del servidor, la red telefónica, el punto final HTTPS y los registros del servidor en el orden correcto.
Sustituya la ejecución de trabajos bajo demanda por un temporizador systemd que ejecute el comando occ system:cron compatible con ownCloud cada 15 minutos.
Rastrea la solicitud WebDAV a través de Apache, Nginx o un proxy inverso, y luego confirma que la sincronización de ownCloud funciona con una prueba PROPFIND autenticada.