Servicio OAuth 2 Nextcloud

De MoodleDocs
La versión para imprimir ya no se admite y puede contener errores de representación. Actualiza los marcadores del navegador y utiliza en su lugar la función de impresión predeterminada del navegador.

¡Nueva característica
en Moodle 3.6!

translator note icon.png Nota del traductor: Actualmente (noviembre 2018) la página web de Nextcloud solamente está disponible en idiomas inglés y alemán, pero no en español.


Configuración de Nextcloud

Como un pre-requisito, Usted necesita Nextcloud en versión 14.0.4 (o superior). En caso contrario, por favor actualice a una versión más reciente de Nextcloud primero. Después Usted necesitará registrar Moodle como un cliente de OAuth 2 como sigue:

  1. Ingrese a Nextcloud usando la cuenta de administrador.
  2. Abra el menú en la esquina superior derecha y seleccione Settings (Ajustes). En la página siguiente, seleccione el ítem de seguridad Security en la sección sobre Administración "Administration" a la izquierda.
    nextcloud-oauth2-settings.png
  3. En la parte superior de la página siguiente Usted ve la lista de clientes registrados (la cual inicialmente está vacía). Debajo de Añadir cliente "Add client", ingrese el nombre de su Moodle (como por ejemplo, "Mount Orange School Moodle") en el primer campo de nombre (Name). Tenga en cuenta que el nombre que Usted ingrese aquí será mostrado a sus usuarios Moodle.
  4. En el segundo campo (Redirection URI), ingrese la URL de su Moodle seguida por /admin/oauth2callback.php (por ejemplo, "https://school.demo.moodle.net/admin/oauth2callback.php").
  5. Haga click en añadir Add para guardar. Después, la página se ve similar a la imagen de pantalla inferior.
Registro de Moodle como un cliente de OAuth 2 en Nextcloud

Moodle tiene ahora permitido el conectar a Nextcloud usando la autenticación OAuth 2.

Configuración de Moodle

Después de que Usted haya hecho la configuración de Nextcloud, Usted puede configurar Moodle.

  1. Ir a Administración del sitio > Servidor > Servicios OAuth 2 y haga click en Crear nuevo servicio Nextcloud.
  2. En la página siguiente, ingrese el nombre Name de su Nextcloud, la ID del cliente Client ID y su secreto Client secret (como se observa en la interfase de administración de Nextcloud en la imagen de pantalla de arriba) y la Service base URL que es la URL de su Nextcloud. Si Usted usa un Logo Nexcloud personalizado, especifique su URL también.
    nextcloud-issuer-settings.png
  3. Usted no necesita cambiar ninguna otra configuración. Haga click en Guardar cambios (Save changes).

Después, Usted puede usar el servicio Nextcloud desde su Moodle, por ejemplo, desde el Repositorio Nextcloud.

nextcloud-issuer-configured.png


Solución de problemas

Hay algunos errores de configuración que podrían impedir que Moodle se comunique con Nextcloud apropiadamente. Algunos de ellos se deben al hecho de que Usted mismo puede alojar Nextcloud por su cuenta y es fácil cometer errores que son difíciles de identificar a la primera. Sin embargo, esta lista le ayudará a resolverlos.

No me puedo conectar a una cuenta del sistema.
Primeramente sálgase de Nextcloud. Asegúrese de que la cuenta Nextcloud a la cual Usted desea conectar como una cuenta del sistema sea diferente de todas las cuentas personales. Tiene que ser una cuenta que pertenezca a Moodle, no a una persona. También, revise las configuraciones del emisor. ¡La casilla para Autenticar solicitudes de token vía encabezados HTTP Authenticate token requests via HTTP headers debe estar habilitada!
Parece que la autenticación funcionó, pero el selector de archivos me muestra que "No hay archivos".
Es posible que HTTPS no esté configurado correctamente en la parte de Nextcloud. ¡Usted necesita un certificado válido y confiable para su servidor Nextcloud! Un certificado firmado por Usted mismo no funcionará. A diferencia de lo que pasa en un navegador, Usted no puede manualmente "confiar" en un certificado de servidor auto-firmado. Usted también debería revisar quelos módulos de Apache "rewrite", "headers" y "env" estén instalados y habilitados en el servidor Nextcloud.
Después de ingresar con Nextcloud me sale un error que dice que esta solicitud no es válida y que debo ponerme en contacto con el administrador de [su Nombre Moodle] si este error persiste "This request is not valid. Please contact the administrator of [your Moodle Name] if this error persists.".
Es posible que Usted haya ingresado una Redirect URI incorrecta en Nextcloud. ¡Es importante que termine con /admin/oauth2callback.php y que corresponda exactamente a la URL que Moodle va a enviar a Nextcloud cuando intente autenticar!
Cuando yo accedo a un enlace de acceso controlado yo autorizo a Moodle pero no puedo ver el archivo.
En versiones antiguas de Nextcloud (anteriores a 14.0.1), cuando Usted autoriza a Moodle, se termina su sesión del navegador en Nextcloud. Actualice a una versión reciente de Nextcloud (vea #Configuración de Nextcloud) para resolver esto.
Desde que conecté una cuenta del sistema, Moodle está muy lento
Nextcloud tiene una protección de fuerza bruta que era bastante ingenua (anterior a 14.0.3). Cuando se habilitaba, alentaba algunas solicitudes Moodle en algunos casos (¡aunque el plugin de Moodle definitivamente no va a forzar a lo bruto a su Nextcloud!). Primeramente, actualice a una versión reciente de Nextcloud (vea #Configuración de Nextcloud) para resolver esto. Como una medida adicional, Usted puede descargar la "Brute-force settings" app for Nextcloud. Después de la instalación, añada la IP de su servidor Moodle a la lista blanca (whitelist).
Cuando intento crear un enlace de acceso controlado me sale un error de que no puedo descargar este archivo "Cannot download this file".
Estopuede pasar si la cuenta del sistema no está conectada. Vaya a Administración del sitio > Servidor > Servicios OAuth 2 e intente conectar nuevamente la cuenta del sistema de Nextcloud.