¿Qué es el Protocolo OAuth?

| Última modificación: 25 de octubre de 2024 | Tiempo de Lectura: 3 minutos

Algunos de nuestros reconocimientos:

Premios KeepCoding

En gran parte de las páginas webs, blogs, tiendas, etcétera, nos piden que nos registremos una y otra vez en cada sitio web con nuestros datos. Gracias al Protocolo OAuth nos olvidamos de tener que registrarnos continuamente en cada servicio que utilizamos, puesto que con un registro podemos iniciar sesión en diferentes webs. En este post, te vamos a comentar qué es y cómo funciona el Protocolo OAuth.

¿Qué es el Protocolo OAuth?

OAuth es la abreviatura de “open authorization” y es un protocolo estándar abierto que permite la autenticación segura de API. El término técnico API (Application Programming Interface) hace referencia en este contexto a una interfaz que sirve para transmitir datos entre diferentes aplicaciones, interfaces de usuario y páginas web.

Es necesario que la API autorice estas transferencias de datos porque, en caso contrario, nos estaríamos exponiendo al riesgo de que un tercero los interceptara sin autorización e hiciera un uso incorrecto de los mismos en su propio beneficio.

Por ejemplo, supongamos que un usuario va a utilizar una app para hacer una publicación en Facebook en su nombre (lo que significa que va a acceder a la API de Facebook). Será necesario que dicha app cuente con el permiso del usuario. Del mismo modo, cualquier aplicación necesitará haber sido autorizada por el usuario para poder completar su perfil mediante la información de otro servicio. OAuth es una herramienta que nos permite otorgar dicha autorización sin tener que comunicar a la aplicación el nombre de usuario ni la contraseña. En resumen, el usuario mantiene un control absoluto sobre sus datos.

¿Cómo funciona Oauth?

El primer paso es que el usuario inicie la sesión en un sitio web o servicio (OAuth solo funciona con HTTPS). El proceso de autorización de OAuth comienza con un usuario final (propietario de recursos) que especifica que desea proporcionar una aplicación (cliente) con acceso a datos en una aplicación de terceros (servidor de recursos).

La aplicación cliente redirige esta solicitud a un servidor de autorización proporcionado por la aplicación de terceros, que autentica al usuario final solicitante. El servidor de Autorizaciones autoriza la aplicación del cliente y el propietario del recurso y redirige al usuario a la aplicación del cliente con un código de acceso de un solo uso.

El código de acceso de un solo uso se envía de vuelta al servidor de autorización, que luego lo convierte en un token de acceso que el usuario final puede usar para acceder al servidor. Al mismo tiempo, el AS también puede devolver un token de actualización, lo que permitirá al usuario final utilizar el mismo OAuth para acceder más de una vez.

Esencialmente, el token de acceso permite a un usuario llamar a la API. A cambio, la API obtiene acceso a la información sobre el cliente y el propietario del recurso y qué camino tomaron, qué cliente están utilizando y quién es el usuario final.

Relacionado con OAuth, no se puede dejar de mencionar OKTA, un sistema de gestión de identidades, que facilita su implantación en nuestras apps y proyectos web. Y es que, tal como señalan desde OKTA, tomaron decisión de implementar OAuth 2.0 para extender la autenticación, autorización y administración de usuarios a sus API, cubriendo todas sus pantallas en todos sus dispositivos.

Hemos explicado en qué consiste el Protocolo OAuth y su funcionamiento paso a paso con el fin de saber qué ocurre cuando introducimos nuestros datos en un sitio web y no tengamos que volver a introducirlos en una nueva visita a la web.

¿Por dónde seguir?

Si te ha quedado claro el Protocolo OAuth y quieres comenzar tu carrera profesional en el sector, con nuestro Bootcamp Full Stack en Desarrollo Web dominarás las herramientas para desarrollar Backend y Frontend para conseguir el trabajo de tus sueños. ¡Empieza ahora!

Alberto Casero

Alberto Casero es CTO en Watium, Fundador de Kas Factory & Coordinador del Bootcamp en Desarrollo Web.

Posts más leídos

¡CONVOCATORIA ABIERTA!

Desarrollo Web

Full Stack Bootcamp

Clases en Directo | Profesores en Activo | Temario 100% actualizado