Indentificarnos en Moodle con nuestro usuario de Google apps

Así, por ejemplo, si queremos utilizar la aplicación Prezi y no queremos tener otro usuario y otra contraseña, podemos identificarnos con nuestro usuario de Facebook. A través del protocolo, seremos redirigidos a la web de Facebook y, si damos permiso, Facebook comprobará que los datos son correctos y nos volverá a la web de Prezi ya identificados.


Esto mismo lo podemos utilizar para evitar que un alumno tenga un usuario en Google apps for education y otro en Moodle. Podemos configurar Moodle para que, utilizando el protocolo OAuth 2, utilice usuarios de Google apps for education.
Es importante tener en cuenta que activar esta opción no deshabilita las otras identificaciones. Por tanto, los usuarios que no se modifiquen seguirán entrando con usuario y contraseña sin ningún problema.

Para conseguir esta funcionalidad, tendremos que instalar en el servidor Moodle una extensión llamada Oauth2 Authenticacion. Este conector también permite utilizar usuarios de Facebook o de WindowsLive, pero aquí nos centraremos en los usuarios de Google apps for education.

Las instrucciones de los desarrolladores son muy sencillas, pero cuando se implementa no resultan tan sencillas para las personas poco expertas. Así que citaré los pasos que nos recomiendan y comentaré los añadidos que hay que hacer:

1. – Descargar la extensión de la dirección https://moodle.org/plugins/view.php?plugin=auth_googleoauth2
Esta extensión sirve para las versión 2.1 y superior (incluida la última, la 2.5)

2. – Añadir el conector en la carpeta / auth/googleoauth2 / del servidor
Se puede hacer por FTP o a través de alguna aplicación de su hosting.

3. – Dentro del menú de Administración de Moodle, habilitar la extensión Google OAuth 2 (Administración del sitio> Extensiones> Identificación> Gestión de la identificación)

4. – En la configuración del conector OAuth 2 (Administración del sitio> Extensiones> Identificación> Google OAuth 2), introducir el Google cliente ID y Google secreto.
Aquí surge la primera dificultat para los inexpertos en la materia. Para conseguir estos datos, hay que ir a la dirección  https://code.google.com/apis/console. En ésta dirección, si tenemos Google apps for education, encontraremos los dadtos que necesitamos (en la captura he borrado parte de los datos por seguridad).
Los desarrolladores no lo avisan, pero ya que estamos en ésta página de la API de Google, aprovecharemos y cambiaremos un par de cosas más. Con el botón Edit branding information, introduciremos  la Home page URL del sitio Moodle. Y con el enlace Edit settings, se puede poner la Redirect URLs. Tiene que ser la dirección de vuestro Moodle, añadiendo  auth/googleoauth2/google_redirect.php
Ara ya tenemos configurado Moodle y Google para que se puedan pasar identificaciones.
5- Cambiar la plantilla HTML de entrada, añadiendo código.
Nos falta modificar la páina de Moodle dónde se pide usuario y contraseña. En esta página (si vuestro tema no utilitza una específica), está en login/index_form.html
Editamos este archivo y añadimos el siguiente código al final (en negrita está la dirección de la imagen que los usuariomos deben clicar).


<?php
//get previous auth provider
$allauthproviders = optional_param('allauthproviders', false, PARAM_BOOL);
$cookiename = 'MOODLEGOOGLEOAUTH2_'.$CFG->sessioncookie;
if (empty($_COOKIE[$cookiename])) {
$authprovider = '';
} else {
$authprovider = $_COOKIE[$cookiename];
}
?>
<center>
<?php
echo get_string('signinwithanaccount','auth_googleoauth2');
?>
<div style="width:'1%'">
<?php
$displayprovider = ((empty($authprovider) || $authprovider == 'google' || $allauthproviders) && get_config('auth/googleoauth2', 'googleclientid'));
$providerdisplaystyle = $displayprovider?'display:inline-block;':'display:none;';
?>
<div class="singinprovider" style="<?php echo $providerdisplaystyle; ?>">
<a href="https://accounts.google.com/o/oauth2/auth?client_id=<?php echo get_config('auth/googleoauth2', 'googleclientid'); ?>&redirect_uri=<?php echo $CFG->wwwroot; ?>/auth/googleoauth2/google_redirect.php&scope=https://www.googleapis.com/auth/userinfo.profile https://www.googleapis.com/auth/userinfo.email&response_type=code">
<img width="118" height="52" src="direccion_de_la_imagen_del_boton" />
</a>
</div>
</center>

La página para identificarse quedará, según el tema y la imagen que seleccioneis, de una forma parecida a:
Pulsando el botón, el alumno (o profesor) utilizará su usuario de Google apps for education. Si el usuario no existe en Moodle, automáticamente lo creará.
Si ya existe, deberá realizar un último paso para modificarle el perfil indicando que desea que utilice el Google OAuth 2.

6 – Modificar el perfil de los usuarios ya creados y elegir identificación Google Oath2.

Los usuarios creados previamente, si no se realiza ningún cambio, seguirán entrando con usuario y contraseña. Si se queire que utilicen el usuari de Google apps for education, se deberá entrar en su perfil de Moodle y asegurarse de dos cosas:

  • Que, en el campo dirección electrónica tenga la dirección correcta de su usuario de Google apps for education.
  • Que, en el método de indentificación, tenga elegido Google Oauth2.

Google apps y los menores de 13 años

Si tenemos un Google apps for education, por defecto este problema no lo tenemos. El servicio de Google+ viene desactivado y, por tanto, podemos crear usuarios de correo (con acceso a Google drive y Google sites) sin ningún problema con la edad.

Pero cuidado, que si activamos el servicio de Google+ podemos tener problemas. De hecho, hace cosa de un mes decidí habilitar el servicio para hacer pruebas con las comunidades virtuales. Todo funcionaba correctamente. Creé una comunidad virtual con los alumnos de 4 º y ya empezamos a usarla.

Pero de rebote, algunos alumnos de 2 º de ESO, vieron que estaba actividado y se crearon un perfil en Google+. Muy bien por su iniciativa y autonomía, ya que nadie les había explicado que estaba activado ni cómo configurarlo.

Problema: al crearse un perfil de Google+ y no tener la edad correspondiente, Google les desactiva el usuario. Esto no se instantáneo, han pasado un par de semanas, pero los usuarios han acabado desactivados.
Por suerte, como es un Google apps for education el administrador puede volver a activarlos. De hecho, lo que puede hacer es cambiarles la edad, jurando que la nueva edad es cierta y mayor que 13 años.

Solución: para evitar tener que mentir con la edad, lo que hay que hacer es desactivar el Google+ para todos y activarlo sólo para un grupos de alumnos, los de 3 º y 4 º de ESO. ¡Ah, y también por los profes!
Para poder hacerlo, dentro del panel de control de Google apps for education, en el apartado de los Usuarios, deberá crear suborganizaciones. Una vez creadas, acceda a la pestaña servicios de la suborganització y active el servicio de Google+.