6 nov. 2019

¿Qué es OAuth y para qué sirve?

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.

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 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, teléfonos móviles. Actualmente servicios como Google, Facebook, Azure Active Directory, Github solo admiten el protocolo OAuth 2.0.

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.

Cliente

Sería la aplicación que quiere acceder a la cuenta de usuario de un determinado servicio, como Facebook, Twitter, Google, etc.

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.

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. Recomendamos visitar la web oficial de OAuth 2.0 donde están todos los detalles técnicos de este framework, y cómo implementarlo en sus páginas web para facilitar a vuestros usuarios al inicio de sesión.

Fuente: RedesZone

0 comentarios:

Publicar un comentario

Gracias por dejar un comentario en Segu-Info
Si vas a dejar una consulta, procura tener habilitado tu perfil en Blogger o deja una forma de contacto.

Gracias por comentar!