Openvatar en pruebas

Ya he terminado la primera versión de Openvatar, la alpha. Por si alguien aún no se ha enterado de que es esto, Openvatar es al Openid lo que Gravatar es al email. Las pruebas que he hecho han ido bien pero claro, solo lo he probado yo, tengo que ver que tal va con más usuarios y sobre todo distintos proveedores de Openid. Los principales problemas que he encontrado son relacionados con los servicios Openid, algunos funcionan perfectamente como openid.blogs.es o Openid.es y otros hacen cosas raras como claimid.com.Hay proveedores que envían los datos básicos del usuario y otros montan auténticos perfiles de red social. Tengo que leer más sobre Openid, que aunque en Openvatar lo gestiona Drupal, siempre es bueno saber por si hay que meter mano.
He tenido que tunear Drupal más de lo que me hubiera gustado ya que he tocado el core, y eso no se hace :-). La mayoría del trabajo ha consistido en capar funcionalidades aunque también he añadido otras, como comentaba en un post anterior.
El generador de avatares funciona bastante rápido en las pruebas que he hecho, habría que verlo con cientos de peticiones, no aguantaría. Está alojado en un servidor compartido.
Si vistáis la página principal y la sección “Help” podréis ver como funciona. He incluído un plugin para wordpress por si alguien se anima. Tengo pendiente añadir el código necesario para utilizarlo en PHP. Es muy sencillo.
Para hacer un seguimiento de las peticiones al generador de avatares (avatar.php) he montado PHP-Stats.
También he montado un Wordpress que acepta comentarios por Openid como demostración. Si alguien se anima a probarlo en su blog que deje un comentario por aquí o escribid a feedback admin en openvatar.com
Próximamente completaré la ayuda para implementar Openvatar en otros blogs y sitios web que no sean Wordpress.




Febrero 12th, 2008 at 20:36
Yo uso getopenid.com y no me funciona: me redirecciona correctamente pero cuando vuelve a openvatar después de hacer el login me devuelve el siguiente error:
Febrero 12th, 2008 at 21:51
Ese error ocurre solo con algunos proveedores, Drupal necesita el mail y un nick, si el proveedor no se los devuelve no puede dar de alta la cuenta.
Normalmente los proveedores devuelven el mail del usuario y su nick, si no lo rellenas Openid toma como nick la url openid. Tengo que ver porque algunos no los devuelve.
Otra opción es eliminar estos datos de la cuenta en Openvatar, no sé si Drupal me lo permitirá.
Fíjate si al validar el acceso en getopenid te está pidiendo esos datos (mail y nick) manualmente.
Febrero 12th, 2008 at 23:46
Me ha funcionado razonablemente bien con miid.es, aunque, después de loggearme en miid.es, al volver al control de Openavatar me salía una página con Acces denied (concretamente /user/login)
Eso si, ¿en la demo debería de salir el avatar elegido cuando haces un comentario?
Buen trabajo por cierto, no paras :)
Febrero 13th, 2008 at 0:22
Ese que comentas es un pequeño fallo que ya conocía, falta que redireccione a la cuenta de usuario (user/id). En cuanto a si debe aparecer el avatar en la demo…pues claro :-), para eso es, para probarlo.
Si no te aparece nada más comentar debe ser algún problema con el plugin de WP, yo si veo los avatares en la demo, incluído el tuyo.
Febrero 13th, 2008 at 3:11
[...] los que no saben lo que es, Openavatar es una creacion de fdelpozo y es para OpenID lo que Gravatar es para el email. Aunque el proyecto todavia no esta muy maduro ya [...]
Febrero 13th, 2008 at 6:30
[...] Openvatar. Fernando del Pozo lanza un servicio que mezcla las funcionalidades de Gravatar y OpenID. La nota del lanzamiento aquí. [...]
Febrero 13th, 2008 at 6:48
No Fernando: GetOpenID sólo me pide la contraseña y me da a elegir si quiero validar la identificación sólo para esta sesión o para siempre. El id de usuario lo toma el de forma automática (de la URL, imagino) y no me deja modificarlo durante la identificación
Febrero 13th, 2008 at 10:00
Fernando, la especificación de OpenID no obliga de ninguna manera a que el proveedor de identificación proporcione datos sobre el usuario, más allá de un identificador, que ojo, no tiene ni que coincidir con la URL que introduces para identificarte (es el caso de yahoo).
Es decir, no esperes email, no esperes nick, ni tan siquiera esperes que el identificador que te devuelva sea igual a la URL que han usado para identificarse.
Queda a opción del proveedor, y sobre todo, a opción del usuario, el permitir la transmisión de dicha información (email, nick, etc.)
En el caso de yahoo (lo he probado y no funciona con Openvatar) para identificarte tan sólo se introduce en la “cajita”: yahoo.com
Después Yahoo devuelve a la web el identificador del usuario, que es un chorro del estilo:
https://me.yahoo.com/a/XQ6F2Sd_uAU8RCuiOp7OWX6Q–
No devuelve nada más. Ni un email ni un nick.
Deberá de ser la web (en este caso Openvatar) la que se encargue de pedir los datos adicionales al usuario en caso de que no se los envíe el proveedor (o sea, la mayoría de las veces).
Febrero 13th, 2008 at 10:31
Tienes razón Jesús.
He estado investigando un poco más el tema, lo que más me mosquea es que hay proveedores que sirven el nick y el email a drupal cuando se los pide:
$response['openid.sreg.nickname']
$response['openid.sreg.email']
y otros no lo hacen. Me encontré un proveedor que detectaba la petición de drupal y junto a los botones de “permitir una vez” y “permitir siempre” aparecían las cajas de nick y mail para completarlas con una etiqueta “The website requires this data”.
El caso es que Drupal necesita un mail y un nick para crear una cuenta, son los datos mínimos. He solucionado el problema del nick (he probado con el proveedor de José María getopenid), cuando un proveedor devuelve como nick la URL openid esta contiene caracteres que no son válidos para nombre de usuario en Drupal, lo he modificado para que trate esa URL antes de pasarla como nick.
El problema que tengo ahora es el mail, creo que puedo eliminar el mail como dato de usuario aunque me gustaría tenerlo en las cuentas openvatar para notificaciones de administración.
Otra opción, menos elegante y más segura para mi gusto, es la de dejar que Drupal pida los datos restantes (o que no puede obtener automáticamente) al usuario. En realidad es así como funciona normalmente pero intenté que no fuese necesario para que registrarse en Openvatar fuera más rápido y sencillo, solo meter tu url Openid.
La verdad es que pensaba que Openid era más standard, que lo és, pero parece que cada proveedor lo trata de forma diferente. Drupal también tiene que avanzar más en la integración con Openid.
Febrero 13th, 2008 at 11:02
Dani, ya está solucionado el tema de la redirección, cuando haces login te lleva a la página de tu cuenta.
Febrero 13th, 2008 at 11:15
Si, lo cierto es que cuando yo comencé a trabajar con la implementación de OpenID en alguna de mis webs, me di cuenta que la teoría es muy bonita, pero en la práctica, requiere que rellenes campos adicionales 4 de cada 5 veces, porque el proveedor de identificación o bien no los devuelve, o bien ni siquiera lo tiene implementado (Yahoo) o bien el usuario no quiere transmitir dicha información creyéndose así más anónimo (aunque luego la rellene en la web destino).
Ésto tiene como consecuencia el que se deba replicar siempre y sin excepción el típico formulario de datos básicos de registro (email y nombre de usuario como mínimo) una y otra vez en todas las webs del mundo, aunque se use OpenID. El formulario de registro no va a desaparecer fácilmente. Nunca te puedes fiar de que el proveedor de OpenID te envíe esos datos, así que, en el registro de usuario, debes gestionarlos tu mismo como si no hubieran usado OpenID.
Después para el login ya usas OpenID, pero a todos los efectos, no considero que, a día de hoy, OpenID haya simplificado el registro, sino más bien lo contrario: ha añadido un paso más que luego sí tiene su beneficio en posteriores logins a la web (no tener que acordarte de un nuevo par de usuario+contraseña).
Febrero 13th, 2008 at 11:34
De eso mismo se quejan en muchos sitios, el registro en el sitio en cuestión no te lo quita nadie. Realmente Openid es un sistema de autentificación (valga el palabro), no de registro. Una vez registrado, como dices ya solo tienes que acceder mediante tu openid.
Yo quería eliminar el registro previo haciéndolo en un solo paso.
Me quedan 2 alternativas:
1. Conseguir obtener el mail del usuario durante el alta, bien pidiéndoselo manualmente o cogerlo automáticamente si el proveedor lo permite.
2. Permitir las altas normales mediante nick y mail y después que los usuarios añadan sus cuentas openid asociadas. Esto funciona seguro.
Febrero 14th, 2008 at 18:53
[...] información | FDelPozo. Enlace [...]
Febrero 14th, 2008 at 19:22
Finalmente he actualizado el core a Drupal 6 final (ha salido hoy) por aquello de la seguridad, ya que la gestión de usuarios de Openvatar usa muy pocos módulos, los imprescindibles. Al haber tocado el core he tenido que hacer trabajos manuales para fundir mis cambios.
Otro cambio importante es el de dejar que el proceso de registro se desarrolle normalmente. De esta forma funcionarán TODOS los proveedores Openid. Y si no es así, que me quede más delgado :-)
Si el proveedor no es capaz de enviar el nick y el mail del usuario (como pasaba con getopenid y Yahoo!) de forma automática, aparece un aviso para que los complete el usuario, a partir de ahí ya podrá entrar siempre solo con su openid.
Mayo 2nd, 2008 at 20:29
vamos a probarlo