Tabla de contenido:
Muchos autos de lujo vienen con una llave de valet. Es una llave especial que le da al asistente de estacionamiento y, a diferencia de su llave regular, solo permitirá que el automóvil se conduzca una corta distancia mientras bloquea el acceso a la cajuela y al teléfono celular a bordo. Independientemente de las restricciones que impone la clave de valet, la idea es muy inteligente. Le da a alguien acceso limitado a su automóvil con una llave especial, mientras usa otra llave para desbloquear todo lo demás. - La guía oficial de OAuth 1.0
Así es como las pautas de especificación basadas en la comunidad explicaron OAuth en 2007. Y si bien OAuth 2.0 es un protocolo completamente nuevo, la misma descripción aún se aplica: OAuth sigue siendo una forma para que los usuarios otorguen acceso de terceros (y acceso limitado) a sus recursos sin compartir sus contraseñas.
Si está en Internet regularmente, es probable que haya encontrado un sitio que utiliza OAuth. Después de todo, los sitios web más grandes del mundo, como Facebook, Google, MySpace, Twitter, Photobcuket, Yahoo, Evernote y Vimeo, utilizan este estándar de autenticación. Siga leyendo para obtener más información sobre este estándar y por qué la próxima generación, OAuth 2.0, todavía se está utilizando de forma relativamente experimental.
¿Qué es OAuth 2.0?
Primero, debe saber qué hace OAuth, como protocolo: Permite la autorización de la interfaz de programación de aplicaciones entre dos aplicaciones web o de escritorio. Como resultado, los sitios web pueden compartir recursos protegidos con otros sitios web y servicios.
Por ejemplo, si juegas Scramble con amigos en tu iPad, puedes ingresar tus credenciales de Facebook, permitiendo que el juego revise tu lista de amigos para ver cuáles están jugando e invitar a otros a unirse. O puede conectarse con amigos en Google+ en función de quién lo sigue en Twitter. Este tipo de aplicaciones son útiles para los usuarios, pero implican dar acceso a un sitio o programa a información sobre usted en otro sitio.
OAuth 2.0 funciona de manera muy similar a la primera encarnación de OAuth, pero es un estándar totalmente nuevo. Esto significa que no es compatible con versiones anteriores de OAuth 1.0. La versión 2.0 limpió muchos de los problemas con el OAuth original e hizo mejoras.
Mientras que básicamente conserva la arquitectura de la primera versión, 2.0 mejoró en:
- Autenticación y firmas. OAuth 2.0 hizo que sea más fácil para alguien del lado del cliente implementar el protocolo.
- Experiencia del usuario y formas alternativas de emitir tokens
- Rendimiento, especialmente con sitios web y servicios más grandes
Los beneficios de usar OAuth 2.0
Una de las mejores razones para usar OAuth es que hace que compartir sea mucho más fácil. Ya estamos acostumbrados a subir fotos a Instagram y hacer que se publiquen automáticamente en Twitter y Facebook. De hecho, es este tipo de facilidad de uso y crossover lo que sigue haciendo que las redes sociales sean tan atractivas.
Pero eso no es todo. Para los usuarios finales, OAuth significa que no tiene que crear otro perfil. Por ejemplo, si desea dejar un comentario en un artículo, puede usar sus credenciales de Facebook o Twitter para hacerlo, en lugar de tener que registrarse para obtener una cuenta en un sitio web determinado. Esto es ideal para sitios en los que generalmente no está activo o en los que puede no confiar. También puede beneficiar a los sitios al garantizar que los usuarios tengan una identidad en Facebook, lo que hace que sea menos probable que se envíen comentarios no deseados.
OAuth también significa menos contraseñas para recordar. Es una buena práctica tener diferentes contraseñas para diferentes servicios del sitio web. Entonces, en lugar de memorizar otra contraseña, solo tiene que usar su contraseña de Facebook para acceder al servicio., por cierto, no verá su contraseña.
También puede limitar a qué recursos se accede a través de su OAuth. Por ejemplo, al jugar un juego en Facebook, puede especificar si desea que el juego se publique en su muro en su nombre o no.
Para el desarrollador, OAuth 2.0 proporciona un código ya desarrollado para autenticaciones, visualización de interacción social y visualización de perfil de usuario. Esto significa menos errores para los desarrolladores y un menor riesgo porque la API ya se ha depurado, probado y comprobado. Por último, también se beneficia al tener menos datos almacenados en sus propios servidores.
Cómo surgió OAuth 2.0
Es bastante obvio que OAuth es una respuesta a la solicitud de computación segura y facilidad de uso para diferentes servicios web. OAuth 2.0, por otro lado, surgió de la necesidad de hacer que OAuth sea menos complejo. Pero toda la idea para ambos en realidad vino de OpenID.
OpenID es un servicio que permite a los usuarios iniciar sesión en varios servicios mediante el uso de credenciales de inicio de sesión de otro sitio web. Pero OpenID era muy limitado, por lo que se reunió un grupo de personas que trabajaban en diferentes protocolos de autorización para sus propios sitios. Las primeras implementaciones de OAuth se realizaron en 2007, y la primera revisión se produjo dos años después.
OAuth 2.0 llegó a la escena en 2010. Su intención era centrarse en la simplicidad del cliente-desarrollador y ser más fácil de escalar al tiempo que mejoraba la experiencia del usuario.
¿Desafíos adelante?
Aunque Google, Klout y otros grandes nombres están implementando OAuth 2.0, aún puede haber un camino difícil para este protocolo. Hay críticas dentro de la comunidad OAuth 2.0, incluidas las preocupaciones sobre la seguridad del protocolo (muchos creen que es menos seguro que OAuth 1.0).
Según Hammer, si lo utiliza un programador competente que esté bien versado en seguridad web, OAuth 2.0 funciona. Desafortunadamente, solo una pequeña minoría de desarrolladores cumple con ese requisito.
Además, los códigos OAuth 2.0 no son reutilizables. Por ejemplo, los protocolos OAuth 2.0 utilizados por Facebook no serían fácilmente utilizables por otro sitio. Además, el nuevo protocolo es en realidad mucho más complejo que el original.
Pero el verdadero golpe para muchas personas es que OAuth 2.0 no parece ofrecer ninguna ventaja o mejora real sobre 1.0. Hammer escribe que si está implementando con éxito 1.0, no hay razón para actualizar a 2.0.
OAuth 2.0, sin embargo, todavía está muy vivo. Si aborda las críticas y los problemas planteados, aún puede encontrar un lugar como un protocolo muy poderoso. Sin embargo, al momento de escribir esto, la versión 1.0 todavía se considera la versión oficial, estable y probada de OAuth. Sin embargo, para los desarrolladores que desean trabajar con grandes nombres en el mundo en línea, implementar este protocolo de forma segura puede convertirse en un conjunto de habilidades clave en un futuro no muy lejano.