Login en la APP utilizando OAuth2

Buenas! Tal como hablamos ayer en el comité dejo la inquietud acá y comento como tenemos armado el login en g3w

En nuestro caso, a cada alumno se le crea una cuenta de correo institucional la cual es una cuenta de GSuite por tal motivo configuré Autogestión para que el alumno se autentique utilizando OAuth2 contra Google.

Para esto hice 2 cosas:
1- en la tabla acc_login_externos crear una entrada por cada persona asociando persona con cuenta institucional, ejemplo:

[tr]
[td]id_externo[/td][td]proveedor[/td][td]persona[/td][td]fecha_alta[/td][td]descripcion[/td]
[/tr]
[tr]
[td]micuenta@unsada.edu.ar[/td][td]google[/td][td]X[/td][td]2019-02-04[/td][td]Cuenta Institucional[/td]
[/tr]

2- en la tabla mdp_personas actualizé el valor del campo usuario al valor de id_externo de la tabal acc_login_externos

Saludos

Hola Sebastián,

Por ahora esta pensado para que el alumno vaya a la operación Configuración y desde allí asocie su perfil con una cuenta de Google (ver imagen adjunta).

Hay algo mal en como estas guardando en la tabla acc_login_externos. El email del alumno debe ir en la columna descripcion, y en la columna id_externo va un token que lo proporciona Google cuando el usuario se loguea en este ultimo. Ademas en la columna persona va el ID de persona (tabla mdp_personas).

Igualmente para que todo esto funcione primero debes hacer lo siguiente:

  1. Obtener el app_key y app_secret de Google (ver: http://documentacion.siu.edu.ar/wiki/SIU-Guarani/preinscripcion3.9.0/configuracion_google).
  2. Configurar el archivo instalacion/login.php donde dice cuenta_ext. Activar (‘activo’ => true,) y configurar google.

Cualquier otra duda nos consultas!!!

saludos.


SelecciAn_021.png

SelecciAn_021.png

Vamos por partes:

  • Acá tengo en detalle lo que hice para lograr el login con Google utilizando las cuentas institucionales…
    • Utilizarlo de esa manera es prácticamente imposible ya que :

    • Muchos (prácticamente la mayoría) no harían nunca el circuito de iniciar sesión, ir a configuración, etc…

    • Implica que el alumno tenga que tener una cuenta local de guarani + la externa, muchos usuarios, muchas contraseñas, los chicos se marean

Justamente por eso en id_externo no utilizo el id que devuelve google sino el correo, ya que yo tengo conocimiento de que correo pertenece a cada alumno y lo hice de manera masiva, y en login.php edité los parámetros ‘id_path’ y ‘email_path’ con el valor ‘email’ en ambos casos.

Funciona perfecto, ahora si, no se que problema puede traer esto para acoplarse a la APP.

Hola Sebastián,

Hice una prueba y funciona bien por lo que veo. Lo que no había leído es que cambiaste en instalacion/login.php.

saludos y gracias por el aporte!!!

Estimados,

Les escribo ya que aún no habiendo completado la implementación de SIU actualizamos a la versión 3.20 entre otras cosas por el Oauth en el 3w

  1. En nuestro caso, también le damos una cuenta institucional de GSuite a cada alumno y es la cuenta que utilizan para acceder a todos los servicios.
  2. Es una complicación esto de obligarlos a que hagan la vinculación desde la configuración y tal como está, podrían vincular una cuenta de google de otro dominio que no sea el del correo institucional.

Dicho esto, ofrece SIU algún instructivo para mediante a algún ajuste en la configuración (como leí del otro usuario) se pueda evitar ese paso?

Gracias!!