El otro día estaba viendo una serie americana en versión original con un juicio de por medio y apareció una palabra completamente desconocida para mi: oath. Que básicamente es “un juramento ante una deidad sagrada, garante de que lo que se dirá a continuación es verdad”. En especial me llamó la atención su similitud fonética y de escritura con OAuth, del que había leído por ahí.
OAuth, es algo similar en el mundo web, una promesa para que un servicio B pueda acceder a ciertos datos personales en nombre del usuario en un servicio A.
Originalmente fue un protocolo creado por la gente de Twitter para que desde Ma.gnolia se pudiera acceder a cierta información de las cuentas de Twitter y poder manejar desde Ma.gnolia la cuenta de Twitter. El proceso consistía en ser enviado desde Ma.gnolia a una página de identificación de Twitter y cuando el usuario/contraseñas eran correctas enviarle de vuelta a Ma.gnolia para que empezase a trabajar.
Anteriormente ya había muchos otros protocolos y puntos de vista para solucionar este problema, todos propietarios: AuthSub de Google, OpenAuth de AOL, BBAuth de Yahoo!, Upcoming API, Amazon Web Services API, etc. Entonces Twitter cambió la situación decidiendo liberar el protocolo, publicándose en octubre de 2007 la primera versión del protocolo: OAuth Core 1.0. Incluso, la gente de Google, promotores de OpenID y de la DataPortability se pusieron a apoyar el protocolo.
Espera, ¿y OpenID? OAuth está basado en OpenID, pero es un servicio complementario a éste que va mas allá. Porque mientras que OpenID solo es para la identificación de usuarios en servicios de terceros, OAuth amplía esto a poder acceder a ciertos datos y operar en estos servicios principales, sin que el usuario tenga que dar sus datos de acceso (usuario/contraseña).
Para resumir, OAuth es la solución al problema que tanto he hablado de las malas prácticas en el acceso a tu agenda de contactos y es bonito ver como muchas empresas se han ido dejando de lado soluciones propietarias y cada vez mas servicios se apuntan a OAuth.
Este protocolo ahora es la única manera de autorizar el acceso al API de Twitter en nombre del usuario para todas las aplicaciones de terceros que querían operar como clientes de Twitter (publicar Twits, leer Twits restringidos…), ninguna aplicación web de terceros debe preguntarte tu usuario y contraseña de Twitter, sino que debe dirigirte a la web de Twitter donde te identificarás y ya podrás volver a la aplicación autorizándola.
Donde leer mas:
Notas extras: El origen de Twitter
El otro día aprendí que Twitter fue un spin-off de otra compañí, Odeo Inc., una empresa sobre podcasting de San Francisco, que lo puso como salvavidas ante la vía muerta en la que habían entrado. Otra mutación de negocios exitosa. Léete el artículo completo de @Dom, uno de los creadores de Twitter: How Twitter Was Born para descubrir de donde surgió Twitter, como se llamaba twttr al principio y como la llevaban solo dos programadores.