Estaba repasando una idea de David Recordon del radar de O’Reilly, que propone integrar la autenticación de los sitios que usen OpenID automáticamente en el navegador. Al acceder a internet, el navegador nos pedirá nuestra clave una única vez y se deberá encargar de autenticarse en todos los sitios con OpenID. Es una forma de simplificar la navegación a los usuarios, se ahorrarían la repetición de usarios/claves y muchas autenticaciones duplicadas en multiples sitios.
No es un objetivo nuevo, por ejemplo explorer desde hace mucho tiempo tiene autenticación integrada en el sistema de Windows que se usa a nivel corporativo, también Microsoft lleva tiempo proponiendo el sistema de autenticación Live ID y hay más iniciativas similares de Sun, IBM, etc. La idea de David se centra en mejorar la usabilidad delegando la autenticación en el navegador, evitando repetir el mismo password varias veces y usar un servicio abierto como el de OpenID, cuyo control no está centralizado.
En este sentido, las condiciones que debería reunir un buen servicio de autenticación son:
- Que sea seguro, obvio, pero sin esta condición no tiene sentido el resto.
- Que no dependa de un único proveedor, es necesario que los usuarios puedan cambiar de proveedor fácilmente.
- Que pueda usarse de forma abierta en varios sitios web y dominios de autenticación. Si el servicio sólo sirve a un proveedor o a un grupo, no es útil para el usuario.
- Que su uso sea lo más transparente posible para el usuario, con el menor número posible de autenticaciones. Con una sola autenticación, deberíamos poder acceder a todos los sitios que estén adheridos al mismo sistema y a las misma credenciales.
- Que permita el control del usuario. Debería permitir el uso de varias credenciales diferentes y además debería permitir elegir en qué sitios/aplicaciones debería usarse cada credencial de autenticación.
Dave comenta que existe algun plugin para Firefox que cumple este objetivo, pero en mi opinión ésta función debería estar integrada en el sistema operativo, debería ser un servicio disponible para cualquier tipo de aplicación no sólo web. Aunque partiendo de la situación actual, la forma más rápida de llegar a este objetivo es comenzar por el navegador, que actualmente es el componente más abierto de los escritorios. Concretamente a través de un plugin cómo Gears podría desarrollarse de forma multiplataforma para varios sistemas operativos y navegadores.
Además añadiría a esta función la posibilidad de permitir el acceso a su grafo social, siempre de forma controlada por el usuario. Por poner un ejemplo, si me autentico como Fulanito en un sitio a través de OpenID, por ejemplo gmail y le podría dar permiso a este sitio para acceder a mi grafo social de Facebook, a través de OpenID e importar mis contactos.
Es innecesario cargar con mis credenciales de autenticación (usuario/password) y mi lista de amigos de un sitio a otro, deberían estar compartidos de forma abierta entre las distintas aplicaciones, siempre bajo el control del usuario que es el propietario de sus datos.