"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > SAML frente a OAuth frente a OpenID Connect

SAML frente a OAuth frente a OpenID Connect

Publicado el 2024-11-06
Navegar:183

Esta publicación se publicó inicialmente en mi blog. Consulte la fuente original utilizando el siguiente enlace:

SAML vs. OAuth vs. OpenID Connect

SAML frente a OAuth frente a OpenID Connect

Este artículo explorará SAML, OAuth y OpenID Connect, sus casos de uso y cómo interactúan entre sí.

SAML vs. OAuth vs. OpenID Connect rahulvijayvergiya.hashnode.dev

La autenticación y la autorización son cruciales para garantizar la seguridad de las aplicaciones y los datos. Tres protocolos ampliamente utilizados para gestionar estos procesos son OAuth, SAML y OpenID.

Cuando utilizas aplicaciones como Facebook, Google o LinkedIn para iniciar sesión en otros sitios web, te encuentras con algunos protocolos importantes: OAuth, SAML y OpenID Connect. . Estos protocolos ayudan a mantener segura su información y le permiten acceder a diferentes servicios.

1. SAML (lenguaje de marcado de afirmación de seguridad)

SAML es un estándar abierto para intercambiar datos de autenticación y autorización entre partes, particularmente entre un proveedor de identidad (IdP) y un proveedor de servicios (SP). Se utiliza principalmente para escenarios de inicio de sesión único (SSO), lo que permite a los usuarios autenticarse una vez y obtener acceso a múltiples aplicaciones.

Cómo funciona SAML

Roles/Actores:

  • Usuario: La persona que accede a las aplicaciones.

  • Proveedor de identidad (IdP): El servicio que autentica al usuario y proporciona afirmaciones de identidad.

  • Proveedor de servicios (SP): La aplicación o servicio al que el usuario intenta acceder.

Diagrama de flujo de solicitudes:

SAML vs. OAuth vs. OpenID Connect

Características clave de SAML

  • Inicio de sesión único (SSO): Los usuarios se autentican una vez para múltiples servicios.

  • Basado en XML: Utiliza XML para los mensajes, lo que lo hace robusto.

  • Aserciones seguras: Transmite la identidad y los atributos del usuario de forma segura.


2. OAuth (autorización abierta)

OAuth es un estándar abierto para la delegación de acceso que se utiliza comúnmente para la autenticación y autorización basada en tokens. Permite que aplicaciones de terceros accedan a los datos del usuario sin exponer sus credenciales. OAuth se utiliza principalmente para la autorización, lo que permite a los usuarios otorgar acceso limitado a sus recursos alojados en un sitio a otro sitio.

Cómo funciona OAuth

Roles/Actores:

  • Propietario del recurso: El usuario que posee los datos y otorga acceso a ellos.

  • Servidor de recursos: El servidor que aloja los datos del usuario (por ejemplo, Google, Facebook).

  • Cliente: La aplicación de terceros que solicita acceso a los datos del usuario.

  • Servidor de autorización: El servidor responsable de emitir tokens de acceso al cliente después de autenticar al propietario del recurso.

Diagrama de flujo de solicitudes:

SAML vs. OAuth vs. OpenID Connect

Características clave de OAuth

  • Acceso delegado: Los usuarios pueden otorgar acceso sin compartir credenciales.

  • Tokens de acceso: Tokens de corta duración que limitan la duración del acceso.

  • Ámbitos: Defina el alcance del acceso otorgado al cliente.


3. Conexión OpenID

OpenID Connect es una capa de autenticación construida sobre OAuth 2.0. Agrega verificación de identidad y proporciona una forma para que los clientes verifiquen la identidad del usuario en función de la autenticación realizada por un servidor de autorización.

Cómo funciona OpenID Connect

Roles/Actores:

  • Usuario final: El usuario que desea autenticarse.

  • Cliente: La aplicación que solicita la autenticación del usuario.

  • Servidor de autorización: El servidor que autentica al usuario y emite tokens.

Diagrama de flujo de solicitudes:

SAML vs. OAuth vs. OpenID Connect

Características clave de OpenID Connect

  • Tokens de identificación: JWT que proporcionan información y reclamos del usuario.

  • Integración perfecta con OAuth: Combina autenticación y autorización.

  • Punto final de información de usuario: Permite obtener información adicional del usuario.

OpenID Connect y OAuth

Parece similar pero ambos tienen propósitos diferentes pero complementarios:

  • OAuth: Se utiliza para autorización. Permite que las aplicaciones accedan a recursos (como su perfil o fotos) desde otro servicio (por ejemplo, Facebook o Google) sin necesidad de su contraseña. Utilice OAuth cuando desee conceder acceso limitado a sus datos (por ejemplo, una aplicación de terceros que acceda a su calendario).

  • OpenID Connect (OIDC): construido sobre OAuth, se utiliza para autenticación. Verifica tu identidad y permite que las aplicaciones sepan quién eres. Utilice OpenID Connect cuando necesite iniciar sesión en un sitio web o aplicación utilizando un servicio como Google, demostrando quién es usted.

Cuándo utilizar:

  • Usar OAuth:

    • Cuando desea que una aplicación acceda a datos o recursos en su nombre (por ejemplo, una aplicación que publica en Twitter para usted).
    • "¿Esta aplicación puede acceder a mis datos?" (Autorización)
  • Usar OpenID Connect:

    • Cuando necesitas verificar la identidad de un usuario (por ejemplo, iniciar sesión en un sitio web con tu cuenta de Google).
    • "¿Quién es este usuario?" (Autenticación)

Comparación rápida de OAuth, SAML y OpenID Connect

Característica OAuth SAML Conexión OpenID
Objetivo Autorización Autenticación Autenticación y autorización
Formato JSON, token XML JSON
Casos de uso Acceso API, Aplicaciones móviles Aplicaciones web, SSO Aplicaciones web y móviles
Complejidad Moderado Alto Moderado
Experiencia de usuario Redirecciones a IdP Redirecciones a IdP Redirecciones al servidor de autorización

Conclusión

Comprender OAuth, SAML y OpenID Connect es esencial para crear aplicaciones seguras que manejen la autenticación y autorización de usuarios de manera efectiva. Cada protocolo tiene su propósito: garantizar que puedas acceder a lo que necesitas mientras mantienes tus datos seguros.

Referencias

  1. OAuth 2.0 explicado de forma sencilla

  2. ¿Qué es SAML?

  3. Descripción general de OpenID Connect

  4. Comprensión de las diferencias: OAuth, SAML y OpenID Connect

Declaración de liberación Este artículo se reproduce en: https://dev.to/rahulvijayvergiya/saml-vs-oauth-vs-openid-connect-29m4?1 Si hay alguna infracción, comuníquese con [email protected] para eliminarla.
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3