SIU-Arai/Integracion/Moodle
Sumario
Integrando Moodle
Moodle es una herramienta para la gestión de Aulas Virtuales. Para autenticar con saml usamos este plugin https://moodle.org/plugins/auth_saml2.
Requerimientos
Será necesario contar con:
- Moodle 2.7 o superior
- la url del Moodle, en este ejemplo
https://moodle.unx.edu.ar
- la url del IdP, en este ejemplo
https://idp.unx.edu.ar
- el identificador disponible para la aplicación, en este ejemplo
unx-moodle_1
- la metadata del IdP, en este ejemplo el XML obtenido de la url
https://idp.unx.edu.ar/saml2/idp/metadata.php
Ajustes en SIU-Araí: Usuarios
Creación de la aplicación Moodle en SIU-Arai: Usuarios
- Ir a Aplicaciones
- Completar el formulario con los siguientes datos
- appUniqueId: 'unx-moodle_1' (recordar es la misma que se pone en idp.yml)
- url: 'https://moodle.unx.edu.ar'
- etiqueta: 'Moodle'
- versión: 10
- ícono: (elegir un logo .png, se mostrará en el menú)
- Opcional. Activar la opción filtrar por grupo y luego agregar un grupo existente, como devs al filtro. Esto hace que sólo la gente que pertenezca a este grupo pueda acceder a la aplicación.
Definición de Moodle como SP
Se debe editar el archivo /ruta/arai-usuarios/config/idp.yml
. Hay que tener cuidado al editar este archivo porque el formato yaml es estricto. Si se escapa un TAB se rompe.
Así se agrega el SP al IdP
custom:
'https://moodle.unx.edu.ar/saml/metadata':
AssertionConsumerService: 'https://moodle.unx.edu.ar/redmine/auth/saml/callback'
SingleLogoutService: 'https://moodle.unx.edu.ar/redmine/logout'
appUniqueId: unx-moodle_1
Opcionalmente, se puede elegir un template específico para la página del login si el usuario accede directamente a la url de Moodle:
definition:
usage:
unx-moodle_1: login-especifico
Ajustes en Moodle
Instalar el plugin
Para instalar plugins en Moodle ver la documentación (la forma cambia según la versión). El plugin sugerido es https://moodle.org/plugins/auth_saml2
Activar autenticación SAML
Una vez instalado el plugin, activar el módulo SAML2 que está en Administración del sitio -> Extensiones -> Identificación. A continuación se muestra un ejemplo de configuración:
En la primera parte lo más importante es cargar los metadatos en formato XML que nos entrega el IDP.
En la segunda parte, es necesario especificar el formato del atributo identificador del usuario.
En la tercera parte, se indica contra que atributo del IDP se mapea las cuentas locales del moodle y si se tienen que crear o autoaprovisionar las cuentas en moodle al momento del primer ingreso del usuario. Esta suele ser la opción mas simple para un sitio de aula virtual ofrecido a todos los usuarios que están presentes en SIU-Araí: Usuarios.
Opcionalmente, es posible controlar la forma en que se mapea la información existente en el IDP con la que se carga en Moodle. Por ejemplo, es posible indicar que el atributo email del usuario de Moodle puede ser leído desde el atributo mail
existente en el IDP (que es también información que se proporciona en un token SAML). Además es posible controlar en que momento se crea y/o actualiza dicha información en Moodle.
nalmente, en la sección de identificación es necesario activar el mecanismo de autenticación basado en SAML. i
Limitaciones conocidas
- Limitar la pantalla de ingreso o login del Moodle para que sólamente opere con usuarios existentes en el IDP. Por ahora es posible hacer el ingreso con un usuario creado de forma manual en el mismo Moodle.