IntegracionMoodleShibboleth

Versión 9 (Emilio Penna, Miércoles, 13 de Mayo de 2020 17:14:39 -0300) → Versión 10/12 (Emilio Penna, Miércoles, 13 de Mayo de 2020 17:26:37 -0300)


h1. Integración de Moodle con Shibboleth

h3. 1. Pasos previos:

1.1 Instalación de Shibboleth SP

Referencias:

* https://www.proyectos.udelar.edu.uy/redmine/projects/idp-pub/wiki/SPInstall
* https://www.switch.ch/aai/guides/sp/installation/
* https://wiki.shibboleth.net/confluence/display/SP3/Home

1.2 Configuración básica de Shibboleth sp, obtención de atributos, prueba con script PHP de test.

https://www.proyectos.udelar.edu.uy/redmine/projects/idp-pub/wiki/SPConfig

Para realizar una prueba, se puede crear un script php para verificar que quede protegido, y ver los atributos recibidos por el IdP.
Ver un ejemplo en la sección de "Integración de aplicaciones php" en:
https://www.proyectos.udelar.edu.uy/redmine/projects/idp-pub/wiki/IntegracionApp1

h3. 2. Configuración de Apache

Proteger el directorio moodle/auth/shibboleth/index.php con Shibboleth.

En Apache debe definirse una regla como la siguiente:

<pre>
<Directory /path/to/moodle/auth/shibboleth/index.php>
AuthType shibboleth
ShibRequestSetting requireSession 1
Require valid-user
</Directory>
</pre>

Si se utiliza un reverse proxy debe agregarse: ShibUseHeaders On

h3. 3. Configuración de moodle

Ingresar en moodle como administrador, ir a la página de gestión de autenticación.

En moodle 3.8:

(Administración del sitio >> Extensiones >> Identificación >> Gestionar identificación)

Habilitar la opción Shibooleth, ir a configuración.

En los ejemplos siguientes se utiliza un reverse proxy, y por eso los atributos se propagan como headers y tienen el prefijo "HTTP_". Si no se usa un reverse proxy, los atributos estan disponibles sin ese prefijo.

* Nombre de usuario: HTTP_UID
* URL del manejador de salida del Proveedor de Servicios Shibboleth: https://<nombreservidor>.edu.uy/Shibboleth.sso/Logout https://<nombreservidor>.udelar.edu.uy/Shibboleth.sso/Logout
* URL alternativa de cierre de sesión: https://login.udelar.edu.uy/idp/profile/Logout >>> REVISAR

*Mapeado de datos:*

* Nombre:
** Mapeo de datos (Nombre): HTTP_UDELARPERSONNOMBRE1
** Actualizar local (Nombre): Al crearse
** Bloquear valor (Nombre): Bloqueado

* Apellido:
** Mapeo de datos (Apellido(s)): HTTP_UDELARPERSONAPELLIDO1
** Actualizar local (Apellido(s)): Al crearse
** Bloquear valor (Apellido(s)): Bloqueado

* Email:
** Mapeo de datos (Dirección de correo): HTTP_MAIL
** Actualizar local (Dirección de correo): Al crearse
** Bloquear valor (Dirección de correo): Desbloqueado

Ref:
https://moodle.org/auth/shibboleth/README.txt