OpenID y la AAAA

Posted by Iñigo in Uncategorized | Comments Off

200701161700

Cada vez que alguien crea una aplicación nueva, tiene que gestionar de alguna manera sus usuarios.
Todas las aplicaciones tienen que tratar con las cuatro A de la gestión de usuarios:

Activación / Autorización / Autenticación / Accounting (AAAA)

Y es que tu aplicación no tiene más remedio que activar cuentas de usuario (de forma segura, pero que no molesten demasiado al usuario para que tenga interés en hacer login, darle la oportunidad de recuperar su contraseña si la ha perdido), permitirle hacer cosas, gestionar claves de acceso (o token keys/sms/etc…) y registrar qué hacen tus usuarios (como votar por un vídeo en Mootion).

Para librarse de programar toda la gestión de usuarios hay pocas alternativas:

Alternativa 1: Integrar tu aplicación con Microsoft Passport.

Mala idea. Hoy en día casi todo el mundo tiene una cuenta de hotmail que usa para el correo o para chatear en MSN; sin embargo la gente tiene mucha reticencias a mandar información a Microsoft (ellos ya saben que tu windows es pirata). El inconveniente es que es muy facil integrarse en Passport si usas windows (como cabía esperar).

Alternativa 2: Integrar tu aplicación con Google.

Parece una idea mucho mejor ¿verdad? al fin y al cabo los chicos de Google son buena gente ¿no? o al menos antes ellos mismos decían “we’re not evil”…
Hace un tiempo sacaron un API para integrar las aplicaciones concursantes en Google Code con Google Accounts. Tenía muy buena pinta, pero… ¿porqué tenemos que fiarnos de Google?.

Alternativa 3: Utilizar tu cuenta de otro sitio (OpenID)

La alternativa que a mí me parece más limpia es utilizar tu usuario y clave de otro sitio web que soporte OpenID.

¿ventajas para el usuario?

  • Puedes probar el funcionamiento de las aplicaciones web que quieras sin tener que darte de alta en cada una de ellas.
  • Tu tienes el control de qué información se envía a la aplicación web en la que te registras.
    • Tus datos personales están sólo en tu proveedor de OpenID (que es donde está tu usuario y clave de acceso))
  • Puedes crear varios perfiles (público/para tratar con dinero/etc…) en una misma cuenta OpenID.
  • Al entrar en un site que soporta OpenID, puedes activar la opción de hacer login sin tener que teclear la clave otra vez (la famosa casilla remember me on this computer)

La única desventaja que veo es que los identificadores de usuario en OpenID son una lata.

Como desarrollador tienes la ventaja de que alguien que no eres tú se encarga de hacer toda la gestión de usuarios y claves, y lo más importante: NO TIENES PORQUÉ ALMACENAR NINGUNA CLAVE DE ACCESO EN TU SISTEMA, NI DATOS DE CARACTER PERSONAL (a menos que quieras hacerlo). Para trabajar con el usuario te basta con disponer del su URI OpenID.

Technorati Tags: , ,

Comments are closed.