Entendiendo OAuth

Uno de los mayores problemas a los que se enfrentan los Sistemas de Información es el de la seguridad. Y uno de los puntos en los que la seguridad resulta crítica es en la autenticación de usuarios y la autorización de recursos para esos usuarios.

OAuth, en su versión actual (2.0) es el estándar para la autorización. La idea detrás de OAuth es la de simplificar el desarrollo en el cliente a la vez que se proporcionan flujos de autorización específicos para aplicaciones Web, aplicaciones de escritorio, dispositivos móviles, etc.

OAuth permite que las aplicaciones accedan a los recursos protegidos en nombre del usuario sin tener que compartir su contraseña con la aplicación.

Los usuarios pueden autenticarse utilizando sus credenciales de un Proveedor de Identidad externo, como pueda ser Google, Facebook, Twitter o Linkedin y no necesitan crear una cuenta nueva.

El flujo consta de 4 pasos principales:

  1. Solicitud de autorización: La aplicación solicita acceso a los recursos protegidos en nombre del usuario. La solicitud de autorización incluye información sobre la aplicación y los recursos a los que se solicita acceso.
  2. Concesión de autorización: Si el usuario acepta la solicitud de autorización, el proveedor de identidad genera un token de acceso y lo envía a la aplicación. La concesión de autorización también puede incluir información sobre los permisos específicos que el usuario ha concedido la aplicación.
  3. Solicitud de recursos: La aplicación utiliza el token de acceso para solicitar los recursos protegidos del proveedor de identidad. La solicitud de recursos incluye el token de acceso y detalles sobre los recursos que se solicitan.
  4. Acceso a los recursos protegidos: Si el token de acceso es válido, el proveedor de identidad devuelve los recursos protegidos a la aplicación. El acceso a los recursos protegidos puede incluir información sobre los permisos específicos que el usuario ha concedido la aplicación.

El flujo de autorización puede variar ligeramente según la implementación específica. El uso de OAuth presenta varias ventajas: En primer lugar, permite a los usuarios controlar qué datos comparten con la aplicación. En segundo lugar, reduce la carga de trabajo del proveedor de identidad, ya que la aplicación no necesita almacenar las credenciales. En tercer lugar, se mejora la seguridad puesto que la aplicación no almacena directamente la contraseña del usuario.

En resumen, OAuth mejora la seguridad, brinda a los usuarios un mayor control sobre sus datos personales y reduce la carga de trabajo del proveedor de identidad. Además es un estándar de facto. Es ámpliamente usado en la industria y es compatible con muchos proveedores de identidad. Ésto lo hace esencial para muchos servicios web y aplicaciones móviles.

Comparte

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *