[sakai-spanish] Creación automática de usuarios tras inicio de sesión vía SAML

classic Classic list List threaded Threaded
3 messages Options
Rafael Morales Gamboa Rafael Morales Gamboa
Reply | Threaded
Open this post in threaded view
|

[sakai-spanish] Creación automática de usuarios tras inicio de sesión vía SAML

Hola,

La Corporación Universitaria para el Desarrollo de Internet (CUDI) de México tiene la intención de hacer disponible su plataforma digital (Sakai 11) a través de una federación de identidades, lo cual implica que cualquier persona registrada en cualquier servidor de identidades de las instituciones parte de CUDI podrían, en principio, acceder a la plataforma.

El acceso vía SAML ya está funcionando, pero solamente para usuarios previamente registrados en la plataforma, pero la opción de registrarlos a todos de manera previa no es viable, de modo que se tiene que optar por crearlos cuando acceden la primera vez.

Revisando el log, me di cuenta que el acceso a la plataforma es controlado por org.sakaiproject.login.tool.ContainerLogin, pues es ahí donde se verifica que el usuario esté registrado localmente. Intenté entonces, como paso previo, crear el usuario si no existía, pero me he encontrado con dos problemas:

  1. Intenté crear solamente el par EID-UUID, como sucede con CAS, pero no encontré la forma. Lo puede hacer org.sakaiproject.user.impl.BaseUserDirectoryService, pero ni la clase ni sus métodos son accesibles (me imagino que por una buena razón).
  2. Intenté crear el registro completo de usuario, pero parece que ContainerLogin no recibe la información de SAML, por lo que solamente puede crear registros prácticamente vacíos (solamente el EID y el tipo de usuario).

Me comentaron en sakai-users que la mejor forma es crear un proveedor (provider), pero quisiera saber si tienen alguna otra recomendación al respecto.

Saludos,
Rafael

--
Has recibido este mensaje porque estás suscrito al grupo "Sakai - Spanish" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a [hidden email].
Para publicar en este grupo, envía un correo electrónico a [hidden email].
Visita este grupo en https://groups.google.com/a/apereo.org/group/sakai-spanish/.
Diego del Blanco (Unicon) Diego del Blanco (Unicon)
Reply | Threaded
Open this post in threaded view
|

Re: [sakai-spanish] Creación automática de usuarios tras inicio de sesión vía SAML

Hola Rafael!

Esto no es una solucion directa a lo que comentas, sino una solucion alternativa que igual puedes valorar. Para una institucion que lo necesitaba que sus usuarios se dieran de alta ellos mismos, pero que segun desde donde tuvieran un skin u otro, un tipo diferente, etc... lo que hicimos fue crear una serie de paginas de registro, pero fuera de Sakai ya que no queriamos tocar el codigo de sakai (de hecho se hizo en php, pero puede ser como quieras), que por se comunica con los werservices de Sakai para dar de alta al usuario como corresponde con todo lo que se necesita. En tu caso igual con un solo sitio. Ese sitio lo puedes enlazar o incrustar en el Gateway de su Sakai (y puede ser tan simple como un formulario que aparece en el gateway) y la gente se registra por ese formulario.

Como digo, no soluciona tu problema en la forma que tu lo estas intentando, pero igual te da alguna idea.

Saludos!

Diego

Diego del Blanco Orobitg
Sakai Tech Lead (UNICON)
Apereo LATAM Representative (Apereo Foundation)

Ph: +1-480-521-8527




El 2 de octubre de 2017, 12:51, Rafael Morales Gamboa <[hidden email]> escribió:

Hola,

La Corporación Universitaria para el Desarrollo de Internet (CUDI) de México tiene la intención de hacer disponible su plataforma digital (Sakai 11) a través de una federación de identidades, lo cual implica que cualquier persona registrada en cualquier servidor de identidades de las instituciones parte de CUDI podrían, en principio, acceder a la plataforma.

El acceso vía SAML ya está funcionando, pero solamente para usuarios previamente registrados en la plataforma, pero la opción de registrarlos a todos de manera previa no es viable, de modo que se tiene que optar por crearlos cuando acceden la primera vez.

Revisando el log, me di cuenta que el acceso a la plataforma es controlado por org.sakaiproject.login.tool.ContainerLogin, pues es ahí donde se verifica que el usuario esté registrado localmente. Intenté entonces, como paso previo, crear el usuario si no existía, pero me he encontrado con dos problemas:

  1. Intenté crear solamente el par EID-UUID, como sucede con CAS, pero no encontré la forma. Lo puede hacer org.sakaiproject.user.impl.BaseUserDirectoryService, pero ni la clase ni sus métodos son accesibles (me imagino que por una buena razón).
  2. Intenté crear el registro completo de usuario, pero parece que ContainerLogin no recibe la información de SAML, por lo que solamente puede crear registros prácticamente vacíos (solamente el EID y el tipo de usuario).

Me comentaron en sakai-users que la mejor forma es crear un proveedor (provider), pero quisiera saber si tienen alguna otra recomendación al respecto.

Saludos,
Rafael

--
Has recibido este mensaje porque estás suscrito al grupo "Sakai - Spanish" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a [hidden email].
Para publicar en este grupo, envía un correo electrónico a [hidden email].
Visita este grupo en https://groups.google.com/a/apereo.org/group/sakai-spanish/.

--
Has recibido este mensaje porque estás suscrito al grupo "Sakai - Spanish" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a [hidden email].
Para publicar en este grupo, envía un correo electrónico a [hidden email].
Visita este grupo en https://groups.google.com/a/apereo.org/group/sakai-spanish/.
Rafael Morales Gamboa Rafael Morales Gamboa
Reply | Threaded
Open this post in threaded view
|

Re: [sakai-spanish] Creación automática de usuarios tras inicio de sesión vía SAML

Hola Diego,

Muchas gracias por tu mensaje. Lo que comentas tiene sentido, pero creo que no aplica a nuestro caso por dos razones: (1) en principio, cualquier profesor/estudiante de cualquier institución educativa registrada en CUDI podría acceder a la plataforma, lo que implicaría que la forma de registro en cada Idp en la red debería crear un usuario en Sakai, y (2) gran parte de esa población potencial no hace ni hará uso de la plataforma, por lo que no tiene sentido crear tanta cuenta de usuario si nunca van a entrar.

Por lo anterior, tiene mucho más sentido crear las cuentas cuando entran la primera vez, si no existen. De hecho, como los datos del usuario estarían en el Idp y no tiene sentido duplicarlos, bastaría con crear el par (USER_ID,EID) en la tabla SAKAI_USER_ID_MAP.

Saludos,
Rafael


On 03/10/17 09:58, Diego del Blanco (Unicon) wrote:
Hola Rafael!

Esto no es una solucion directa a lo que comentas, sino una solucion alternativa que igual puedes valorar. Para una institucion que lo necesitaba que sus usuarios se dieran de alta ellos mismos, pero que segun desde donde tuvieran un skin u otro, un tipo diferente, etc... lo que hicimos fue crear una serie de paginas de registro, pero fuera de Sakai ya que no queriamos tocar el codigo de sakai (de hecho se hizo en php, pero puede ser como quieras), que por se comunica con los werservices de Sakai para dar de alta al usuario como corresponde con todo lo que se necesita. En tu caso igual con un solo sitio. Ese sitio lo puedes enlazar o incrustar en el Gateway de su Sakai (y puede ser tan simple como un formulario que aparece en el gateway) y la gente se registra por ese formulario.

Como digo, no soluciona tu problema en la forma que tu lo estas intentando, pero igual te da alguna idea.

Saludos!

Diego

Diego del Blanco Orobitg
Sakai Tech Lead (UNICON)
Apereo LATAM Representative (Apereo Foundation)

Ph: +1-480-521-8527




El 2 de octubre de 2017, 12:51, Rafael Morales Gamboa <[hidden email]> escribió:

Hola,

La Corporación Universitaria para el Desarrollo de Internet (CUDI) de México tiene la intención de hacer disponible su plataforma digital (Sakai 11) a través de una federación de identidades, lo cual implica que cualquier persona registrada en cualquier servidor de identidades de las instituciones parte de CUDI podrían, en principio, acceder a la plataforma.

El acceso vía SAML ya está funcionando, pero solamente para usuarios previamente registrados en la plataforma, pero la opción de registrarlos a todos de manera previa no es viable, de modo que se tiene que optar por crearlos cuando acceden la primera vez.

Revisando el log, me di cuenta que el acceso a la plataforma es controlado por org.sakaiproject.login.tool.ContainerLogin, pues es ahí donde se verifica que el usuario esté registrado localmente. Intenté entonces, como paso previo, crear el usuario si no existía, pero me he encontrado con dos problemas:

  1. Intenté crear solamente el par EID-UUID, como sucede con CAS, pero no encontré la forma. Lo puede hacer org.sakaiproject.user.impl.BaseUserDirectoryService, pero ni la clase ni sus métodos son accesibles (me imagino que por una buena razón).
  2. Intenté crear el registro completo de usuario, pero parece que ContainerLogin no recibe la información de SAML, por lo que solamente puede crear registros prácticamente vacíos (solamente el EID y el tipo de usuario).

Me comentaron en sakai-users que la mejor forma es crear un proveedor (provider), pero quisiera saber si tienen alguna otra recomendación al respecto.

Saludos,
Rafael

--
Has recibido este mensaje porque estás suscrito al grupo "Sakai - Spanish" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a [hidden email].
Para publicar en este grupo, envía un correo electrónico a [hidden email].
Visita este grupo en https://groups.google.com/a/apereo.org/group/sakai-spanish/.

--
Has recibido este mensaje porque estás suscrito al grupo "Sakai - Spanish" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a [hidden email].
Para publicar en este grupo, envía un correo electrónico a [hidden email].
Visita este grupo en https://groups.google.com/a/apereo.org/group/sakai-spanish/.

--
Has recibido este mensaje porque estás suscrito al grupo "Sakai - Spanish" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a [hidden email].
Para publicar en este grupo, envía un correo electrónico a [hidden email].
Visita este grupo en https://groups.google.com/a/apereo.org/group/sakai-spanish/.