OAuth: cómo funciona este servicio para páginas web

OAuth: cómo funciona este servicio para páginas web

Oscar Espinosa

Cada vez más páginas webs, foros, blogs, tiendas etc. nos piden que nos registremos rellenando una y otra vez para cada sitio web todos nuestros datos. Gracias a Open Authorization (OAuth) nos podemos olvidar de tener que registrarnos una y otra vez en cada uno de los servicios que utilicemos, ya que, con un solo registro, podríamos iniciar sesión muy fácilmente en diferentes webs, sin necesidad de compartida toda nuestra identidad digital. Hoy en RedesZone os vamos a explicar cómo funciona esta tecnología.

Cómo nació OAuth

OAuth nació a raíz del desarrollo de Open ID para Twitter, cuando su desarrollador Blaine Cook, recibió una petición especial para ver si con Open ID podría autorizar widgets en el dashboard para acceder a sus servicios. Después de reunirse Blaine Cook, Chris Messina y Larry Halff se dieron cuenta que no existía ningún estándar de software libre para poder delegar acceso a las diferentes API.

En el año 2007, se formó el grupo de discusión de cómo debería ser lo que hoy conocemos como OAuth. Su función en aquel entonces no era otra que escribir un anteproyecto con todas las ideas y propuestas para crear un protocolo gratuito y abierto, es decir, de software libre para que cualquier empresa y usuario pudiera incorporarlo en sus webs o servicios online. Más adelante, DeWitt Clinton trabajador de Google, se enteró de la creación de dicho grupo y decidió apoyar dicho proyecto. El borrador finalmente se acabó en Julio de 2007 después de tan solo cuatro meses y en octubre de 2007 salió definitivamente el borrador Oauth Core 1.0 creando un gran cambio en el acceso a los servicios.

OAuth hoy en día es un estándar abierto que permite la autorización segura mediante el uso de un API. En la actualidad se usa desde octubre de 2012, en su versión OAuth 2.0, donde sus principales mejoras son que ahora proporciona flujos de autorización para aplicaciones web, de escritorio y teléfonos móviles. Actualmente servicios como Google, Facebook, Azure Active Directory, Github solo admiten el protocolo OAuth 2.0.

Básicamente va a permitir que compartamos información de nuestra cuenta con terceros. Es habitual hacerlo con Google o Facebook, pero también otras plataformas como hemos indicado. Esto va a facilitar el proceso y acortar los tiempos. Se considera un estándar seguro y multiplataforma.

Cómo funciona OAuth 2.0

Recordemos que OAuth 2.0 es realmente un framework de autorización, que lo que hace es permitir que las aplicaciones obtengan acceso limitado a las cuentas de usuario de algunos servicios como Facebook, Google, Twitter y GitHub. Su funcionamiento básicamente consiste en delegar el permiso de autenticación del usuario al servicio que gestiona dichas cuentas, de modo que es el propio servicio el que otorga acceso a las aplicaciones de terceros. En el protocolo OAuth se podría definir los siguientes roles para que lo entendáis mejor.

Pongamos que nos descargamos un programa o abrimos una página que nos exige tener un usuario. Tenemos la opción de registrarnos y crearnos una cuenta, pero también utilizar esta fórmula para autenticarnos. Esto último ahorrará tiempo, ya que simplemente le damos a hacer login a través de un servicio de terceros, como sería alguna de las redes sociales más populares o Google.

Lo que hace en este caso Twitter, Facebook o Google es verificar que realmente somos nosotros y ofrece nuestros datos. No tenemos que crearnos una cuenta y perder tiempo en el registro, aunque esa opción siempre esté disponible. Podremos de esta forma acelerar el proceso y poder acceder sin problemas a una página web o a un determinado programa.

Cliente

Sería la aplicación que quiere acceder a la cuenta de usuario de un determinado servicio, como Facebook, Twitter, Google, etc. Por ejemplo si instalamos una aplicación en el móvil y nos solicita permisos para ver nuestros datos en alguna de estas redes sociales o plataformas. De esta forma evitaremos tener que rellenar todo el contenido nuevamente y lo cogerá de forma automática.

Es un proceso que servirá para ahorrar tiempo y también verificar la autenticidad de un usuario. Simplemente con la cuenta de Facebook o Twitter verificaremos que somos nosotros y esa aplicación, ese cliente en definitiva, permitirá el acceso.

Usuario

El usuario es quien autoriza a la aplicación a acceder a su cuenta, mediante una ventana emergente que pide autorización, y normalmente se incluye información sobre los datos que se van a compartir al servicio nuevo. Cuando intentamos vincular cualquier programa con Facebook o Twitter, por ejemplo, tendremos que autorizar a la aplicación que pueda ceder esa información.

Es por tanto una parte importante en todo este proceso que utiliza el protocolo OAuth 2.0. Vamos a necesitar de autorizarlo para que se lleve a cabo con total garantía.

Servidor

El servidor de autorización recibe las peticiones de acceso de aplicaciones que desean usar el inicio de sesión de algunos de los servicios como Facebook, Twitter o Google por ejemplo, para iniciar sesión en alguna página web, juego, etc. Este servidor se encarga de verificar la identidad del usuario y del servicio que solicita acceso, permitiendo o denegando el acceso.

Veámoslo de forma conjunta: Lo primero que sucede es que la aplicación solicita autorización para acceder a los datos de usuario mediante el uso de alguno de los servicios que lo permiten. Seguidamente, si el usuario autoriza esa solicitud, la aplicación recibe una autorización de acceso que tiene que validar correctamente con el servidor y si es así, emite un token para la aplicación que solicitaba acceso para que pueda acceder. En caso de que, en algún paso, el usuario deniegue el acceso o el servidor detecte algún tipo de error, la aplicación no podrá acceder y mostrará un mensaje de error.

Sin lugar a dudas, este framework OAuth 2.0 es una gran ventaja en cuanto a facilidad de acceso a servicios para el usuario, pero sobre todo para todas aquellas páginas web y juegos que facilitan el acceso a sus usuarios y ganan más clientes. Os recomendamos visitar la web oficial de OAuth 2.0 donde encontraréis todos los detalles técnicos de este framework, y cómo implementarlo en vuestras páginas web para facilitar a vuestros usuarios al inicio de sesión.

¡Sé el primero en comentar!