Descripción general de OAuth

OAuth (Autorización abierta) es un protocolo de autenticación que permite a los usuarios otorgar acceso limitado a sus recursos en un sitio web o aplicación a otro sitio web o aplicación, sin compartir sus credenciales de inicio de sesión reales.

OAuth actúa como un intermediario confiable que le permite otorgar permiso a un servicio para acceder a sus datos desde otro servicio sin revelar su nombre de usuario y contraseña. Este documento incluye una explicación técnica del flujo de trabajo de OAuth y una analogía práctica de OAuth.

Flujo de trabajo de OAuth

OAuth proporciona una forma segura y estandarizada para que los usuarios otorguen acceso a sus datos en diferentes sitios web y aplicaciones sin compartir sus credenciales de inicio de sesión. Garantiza que usted tenga control sobre qué servicios pueden acceder a sus datos y le permite revocar el acceso en cualquier momento.

La siguiente lista es una explicación paso a paso de cómo funciona OAuth.

Usted (el usuario) desea utilizar un sitio web o una aplicación (llamado "cliente") que requiere acceso a sus datos en otro sitio web o aplicación (llamado "servidor de recursos").

El cliente solicita permiso para acceder a sus datos desde el servidor de recursos. Normalmente lo hace redirigiéndole a la página de inicio de sesión del servidor de recursos.

Usted especifica sus credenciales de inicio de sesión directamente en la página de inicio de sesión del servidor de recursos. Este paso es crucial porque su nombre de usuario y contraseña nunca se comparten con el cliente.

El servidor de recursos verifica sus credenciales y lo autentica. Una vez autenticado, genera un token de acceso único para el cliente.

El servidor de recursos lo redirige a la aplicación cliente y le proporciona el token de acceso junto con la redirección.

El cliente recibe el token de acceso y lo envía al servidor de recursos cada vez que necesita acceder a sus datos.

El servidor de recursos verifica la validez del token de acceso. Si el token es válido, otorga al cliente acceso a los recursos solicitados por un período limitado.

El cliente puede utilizar el acceso otorgado para recuperar o modificar sus datos en el servidor de recursos, pero solo dentro del alcance definido por el token de acceso. El ámbito determina a qué acciones y datos puede acceder el cliente.

Si el token de acceso caduca o si el cliente necesita permisos adicionales, el cliente puede solicitar un nuevo token de acceso realizando nuevamente el proceso de autenticación.

Analogía práctica de OAuth

La siguiente es una analogía de cómo funciona OAuth utilizando un escenario práctico.

Imagine que está organizando una fiesta y quiere contratar a un proveedor de catering (el cliente) para que se encargue de la comida. Sin embargo, no desea darle al proveedor de catering las llaves de su casa (sus credenciales de inicio de sesión) porque eso le daría acceso a todas sus pertenencias personales. Por lo tanto, utiliza un organizador de fiestas de confianza (OAuth) para gestionar el acceso.

Le dice al organizador de la fiesta que quiere contratar un servicio de catering. El organizador de la fiesta sabe cómo gestionar el acceso a su casa y los servicios del catering.

El organizador de la fiesta se pone en contacto con el proveedor de catering y lo envía a su casa para una reunión. No está en casa en ese momento.

El proveedor de catering llega a su casa pero se da cuenta de que no puede entrar sin su permiso (token de acceso). Le llaman para pedir acceso.

Usted, como propietario de la vivienda, desea verificar la credibilidad del proveedor de catering antes de otorgarle acceso. Entonces, le hace algunas preguntas al proveedor de catering para confirmar su identidad (autenticación).

Una vez que esté satisfecho con las credenciales del proveedor de catering, le proporcionará un código de acceso temporal (token de acceso) a través del teléfono. Este código les permite entrar a su casa y preparar la comida, pero solo dentro del ámbito de sus tareas de catering.

El proveedor de catering accede a su casa usando el código de acceso y comienza a preparar la comida. Pueden acceder a la cocina y al comedor, pero no pueden acceder a otras habitaciones.

Después de un período específico o cuando termina la fiesta, el código de acceso caduca, lo que garantiza que el proveedor no pueda volver a acceder a su casa sin su permiso.

En este escenario, usted (el propietario de la vivienda) es el usuario, el proveedor de catering es la aplicación cliente, su casa representa sus datos personales en el servidor de recursos y el organizador de la fiesta es OAuth.

El código de acceso sirve como token de acceso, lo que permite al cliente (proveedor de catering) acceso limitado a sus recursos (casa) sin comprometer sus credenciales de inicio de sesión (llaves de la casa).

OAuth actúa como un intermediario confiable, facilitando el intercambio seguro de sus datos entre servicios mientras mantiene el control sobre los permisos de acceso.