¿Qué es OAuth?

OAuth es un protocolo de autorización que permite autenticar el acceso a los recursos de servidores y servicios sin compartir ninguna credencial de inicio de sesión. OpenID Connect es una capa de identidad sobre el marco de OAuth.

En pocas palabras, OAuth le ayuda a acceder a un recurso sin tener que demostrar su identidad después de haber sido autenticado.

Mientras que OAuth proporciona el marco básico para lograrlo y deja en sus manos la decisión de elegir qué detalles de usuario utilizar para la autenticación, OpenID Connect intenta estandarizar esas áreas personalizables en OAuth.

 

SAML vs. OAuth

Si utiliza alguna aplicación que requiera autenticación, es muy probable que esté utilizando el lenguaje de marcado para confirmaciones de seguridad (SAML) para acceder a la aplicación. SAML 2.0 es el protocolo de autenticación estándar más utilizado en diferentes industrias.

Puede utilizar tanto SAML como OAuth para implementar el inicio de sesión único (SSO). En lugar de comparar estos dos protocolos, es mejor entender cómo pueden trabajar juntos para darle lo mejor de ambos mundos. SAML es un protocolo de autenticación, mientras que OAuth es un protocolo de autorización. Puede utilizar SAML siempre que se requiera un inicio de sesión y utilizar OAuth para proporcionar acceso a otros recursos protegidos como aplicaciones y archivos.

Componentes en OAuth y OpenID Connect

 
Servidor de autorización

Verifica las credenciales del usuario y proporciona la clave que le permite iniciar sesión. Ya que el servidor de autorización es el propietario de todos los datos del usuario, controla el alcance y el tiempo durante el cual los clientes pueden acceder a estos datos.

 
Aplicación del cliente

Contiene los recursos a los que el usuario desea acceder. La aplicación del cliente se comunica con el servidor para obtener información que permita verificar la identidad del usuario antes de concederle acceso.

 
Usuario

El usuario intenta iniciar sesión en la aplicación cliente. La información del usuario se almacena en el servidor para verificar y proporcionar acceso a los usuarios correctos.

Cómo funciona OAuth

Así es como OAuth proporciona el SSO:

  1. Un usuario intenta iniciar sesión en una aplicación. La aplicación envía una solicitud de autorización al servidor de autorización. El usuario es redirigido a la página de inicio de sesión del servidor.
  2. El usuario ingresa las credenciales de acceso en la página de inicio de sesión del servidor. Tras una autenticación correcta, se envía un código de autorización a la aplicación desde el servidor.
  3. La aplicación envía el código de autorización al servidor para recibir el token de acceso y el token de actualización. El token de acceso actúa como una clave por tiempo limitado para que el usuario acceda a los recursos protegidos de la aplicación. El token de actualización es una clave permanente que se puede utilizar para solicitar un nuevo token de acceso cuando caduca el anterior.
  4. La aplicación envía una solicitud de información del usuario junto con el token de acceso al servidor como prueba de identidad. La respuesta a esta solicitud devuelve los detalles del perfil de usuario necesarios para completar el proceso de inicio de sesión.
  5. Una vez verificados correctamente los datos del usuario en la aplicación, el usuario inicia sesión en la aplicación.
Cómo funciona OAuth

Cómo funciona OpenID

OpenID Connect es similar al SSO de OAuth, pero aquí se utiliza un token de ID. El token de ID contiene la firma del servidor y los detalles del usuario. Hay dos escenarios posibles aquí: acceso iniciado por la aplicación y acceso iniciado por el servidor. Vamos a entender el flujo de trabajo en ambos casos.

Acceso iniciado por la aplicación

  1. Un usuario intenta iniciar sesión en una aplicación. La aplicación envía una solicitud de autorización al servidor. El usuario es redirigido a la página de inicio de sesión del servidor.
  2. El usuario ingresa las credenciales de acceso en la página de inicio de sesión del servidor. Tras una autenticación correcta, se envía un código de autorización a la aplicación desde el servidor.
  3. La aplicación envía el código de autorización al servidor para recibir el token de ID. Este token contiene los detalles del usuario necesarios para completar el proceso de inicio de sesión.
  4. Tras verificar la firma del servidor en el token de ID, la aplicación recupera los datos del usuario a partir del token de ID.
  5. Una vez verificados correctamente los datos del usuario en la aplicación, el usuario inicia sesión en la aplicación.
Cómo funciona OpenID

Acceso iniciado por el servidor

  1. Un usuario inicia sesión correctamente en el servidor de autorización. A continuación, el usuario intenta iniciar sesión en otra aplicación habilitada para SSO.
  2. En este caso, el servidor envía un token de ID a la aplicación directamente.
  3. Tras verificar la firma del servidor en el token de ID, la aplicación recupera los datos del usuario a partir del token de ID.
  4. Una vez verificados correctamente los datos del usuario en la aplicación, el usuario inicia sesión en la aplicación.
 

¿Por qué usar OAuth?

La característica más importante de OAuth es la tokenización de los datos. Los tokens garantizan que las credenciales reales y otra información sensible de una cuenta de usuario no queden expuestas a robos de datos y otros ataques. Además, si se detecta alguna actividad sospechosa, el servidor puede revocar fácilmente un token.

OAuth se basa en SSL, que utiliza criptografía para garantizar que los datos transferidos entre el servidor y el cliente permanezcan privados, haciendo que incluso los tokens sean seguros.

Los usuarios tienen un acceso limitado, ya que los tokens tienen una duración determinada. Así se evitan los riesgos causados por la disponibilidad prolongada de los recursos protegidos.

Implementar el SSO de OAuth y OpenID Connect con Identity360

Identity360 es una solución de gestión de identidades y SSO basada en la nube. Puede centralizar el acceso, simplificar la gestión de usuarios y auditar el acceso y el uso de aplicaciones.

Identity360 es compatible con las principales aplicaciones empresariales y aplicaciones internas que utilizan OAuth y OpenID Connect, además de aplicaciones habilitadas para SAML. Estas son algunas de las ventajas de utilizar Identity360 para implementar el SSO:

  •  

    Acceso centralizado

    Permita a los usuarios acceder a varias aplicaciones, incluyendo aplicaciones on-premise, en la nube e internas, desde un portal seguro.

  •  

    Solución de SSO completa

    Habilite el SSO para cualquier aplicación que admita OAuth, OpenID Connect o SAML.

  •  

    Informes exhaustivos

    Obtenga información sobre todos los accesos a aplicaciones, los inicios de sesión correctos o fallidos y mucho más con los informes pre-integrados.

  •  

    Reduce la fatiga de contraseñas

    Evite que los usuarios tengan que recordar diferentes nombres de usuario y contraseñas para sus aplicaciones empresariales; una vez que inicien sesión en Identity360, podrán acceder a otras aplicaciones sin tener que pasar varias veces por el proceso de verificación.

  •  

    Completamente basado en la nube

    Ahorre tiempo y esfuerzo en la configuración y el mantenimiento. Haga unos pocos clics y listo.

Implemente un SSO sencillo y eficaz con Identity360.

RegistrarseMás información