Esta publicación se publicó inicialmente en mi blog. Consulte la fuente original utilizando el siguiente enlace:
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.
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.
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:
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.
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.
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:
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.
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.
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:
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.
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.
Usar OAuth:
Usar 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 |
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.
OAuth 2.0 explicado de forma sencilla
¿Qué es SAML?
Descripción general de OpenID Connect
Comprensión de las diferencias: OAuth, SAML y OpenID Connect
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