SAML VS. Oauth

SAML VS. Oauth
Saml y Oauth son estándares técnicos para autorizar a los usuarios. Estos estándares son utilizados por desarrolladores de aplicaciones web, profesionales de seguridad y administradores de sistemas que buscan mejorar su servicio de gestión de identidad y mejorar los métodos que los clientes pueden acceder a los recursos con un conjunto de credenciales. En los casos en que se necesita acceso a una aplicación desde un portal, existe la necesidad de una fuente de identidad centralizada o un solo signo empresarial en. En tales casos, SAML es preferible. En los casos en que se necesitan acceso temporal a recursos como cuentas o archivos, OAuth se considera la mejor opción. En casos de uso móvil, OAuth se usa principalmente. Tanto SAML (Lenguaje de Afirmación de Seguridad y Markup) como OAuth (Autorización Open) se utilizan para el inicio de sesión único web, proporcionando la opción de inicio de sesión único para múltiples aplicaciones web.

Saml

Saml se utiliza para permitir que los proveedores de SSO de las aplicaciones web transfieran y muevan las credenciales entre el proveedor de identidad (IDP), que contiene las credenciales y el proveedor de servicios (SP), que es el recurso que necesita esas credenciales. Saml es un lenguaje de protocolo de autorización y autenticación estándar que se utiliza principalmente para realizar la gestión de la federación y la identidad, junto con el signo único en la gestión. En Saml, Los documentos de metadatos XML se utilizan como token para la presentación de la identidad del cliente. El proceso de autenticación y autorización de Saml es como sigue:

  1. El usuario solicita iniciar sesión en el servicio a través del navegador.
  2. El servicio informa al navegador que se está autenticando a un proveedor de identidad específico (IDP) registrado con el Servicio.
  3. El navegador transmite la solicitud de autenticación a los proveedores de identidad registrados para el inicio de sesión y la autenticación.
  4. Tras una verificación exitosa de credencial/autenticación, el IDP genera un documento de afirmación basado en XML que verifica la identidad del usuario y transmite esto al navegador.
  5. El navegador transmite la afirmación al proveedor de servicios.
  6. El proveedor de servicios (SP) acepta la afirmación de entrada y permite que el usuario acceda al servicio iniciando sesión en.

Ahora, veamos un ejemplo de la vida real. Supongamos que un usuario hace clic en el Acceso opción en el servicio de intercambio de imágenes en el sitio web ABC.comunicarse. Para autenticar al usuario, ABC realiza una solicitud de autenticación SAML cifrada.comunicarse. La solicitud se enviará desde el sitio web directamente al servidor de autorización (IDP). Aquí, el proveedor de servicios redirigirá al usuario al IDP para su autorización. El IDP verificará la solicitud de autenticación SAML recibida, y si la solicitud resulta válida, presentará al usuario un formulario de inicio de sesión para ingresar las credenciales. Después de que el usuario ingrese a las credenciales, el IDP generará una afirmación SAML o un token SAML que contenga los datos y la identidad del usuario y lo enviará al proveedor de servicios. El proveedor de servicios (SP) verifica la afirmación SAML y extrae los datos y la identidad del usuario, asigna los permisos correctos al usuario e registra al usuario en el servicio.

Los desarrolladores de aplicaciones web pueden usar complementos SAML para garantizar que la aplicación y el recurso sigan las prácticas necesarias de inicio de sesión único. Esto hará una mejor experiencia de inicio de sesión del usuario y prácticas de seguridad más efectivas que aprovechen una estrategia de identidad común. Con SAML en su lugar, solo los usuarios con el token de identidad y afirmación correctos pueden acceder al recurso.

Oauth

Oauth se usa cuando es necesario aprobar la autorización de un servicio a otro servicio sin compartir las credenciales reales, como la contraseña y el nombre de usuario. Usando Oauth, Los usuarios pueden iniciar sesión en un solo servicio, acceder a los recursos de otros servicios y realizar acciones en el servicio. OAUTH es el mejor método utilizado para aprobar la autorización de una sola plataforma en la plataforma a otro servicio o plataforma, o entre dos aplicaciones web. El Oauth El flujo de trabajo es el siguiente:

  1. El usuario hace clic en el botón de inicio de sesión de un servicio para compartir recursos.
  2. El servidor de recursos muestra al usuario una subvención de autorización y redirige al usuario al servidor de autorización.
  3. El usuario solicita un token de acceso del servidor de autorización utilizando el código de subvención de autorización.
  4. Si el código es válido después de iniciar sesión en el servidor de autorización, el usuario obtendrá un token de acceso que se puede usar para recuperar o acceder a un recurso protegido desde el servidor de recursos.
  5. Al recibir una solicitud de un recurso protegido con un token de subvención de acceso, el servidor de recursos verifica la validez del token de acceso con la ayuda del servidor de autorización.
  6. Si el token es válido y pasa todas las verificaciones, el servidor de recursos otorga el recurso protegido.

Un uso común de OAuth es permitir que una aplicación web acceda a una plataforma de redes sociales u otra cuenta en línea. Las cuentas de usuario de Google se pueden usar con muchas aplicaciones de consumo por varias razones diferentes, como blogs, juegos en línea, iniciar sesión con cuentas de redes sociales y leer artículos en sitios web de noticias. En estos casos, OAuth funciona en segundo plano, para que estas entidades externas puedan estar vinculadas y puedan acceder a los datos necesarios.

OAuth es una necesidad, ya que debe haber una manera de enviar información de autorización entre diferentes aplicaciones sin compartir o exponer las credenciales del usuario. OAuth también se utiliza en negocios. Por ejemplo, suponga que un usuario necesita acceder al sistema de inicio de sesión único de una empresa con su nombre de usuario y contraseña. El SSO le da acceso a todos los recursos necesarios al pasar tokens de autorización de OAuth a estas aplicaciones o recursos.

Conclusión

OAUTH y SAML son muy importantes desde el punto de vista del desarrollador de aplicaciones web o del administrador del sistema, mientras que ambos son herramientas muy diferentes con diferentes funciones. OAuth es el protocolo para la autorización de acceso, mientras que SAML es una ubicación secundaria que analiza la entrada y proporciona autorización al usuario.