Home ¿Cómo mejora realmente OAuth la seguridad de las API y la gestión de acceso?

¿Cómo mejora realmente OAuth la seguridad de las API y la gestión de acceso?

Amie Parnaby
11/08/2021
Eye icon 416
Comment icon 0
¿Cómo mejora realmente OAuth 2.0 la seguridad de API y la gestión de acceso?

This post is also available in: Inglés Francés Portugués, Brasil Alemán

Durante la última década, el desarrollo de aplicaciones se ha acelerado y está en su apogeo en Android, iOS, Windows, Linux, Mac, con la ayuda de API estandarizadas . Como resultado, la transmisión de información personal y la comunicación diaria de datos es inevitable a través de miles de aplicaciones. Dado que toda esta comunicación se realiza a través de diferentes plataformas de aplicaciones móviles, navegadores y servidores, debe protegerse. OAuth es uno de esos protocolos de seguridad de Internet conocido por almacenar y administrar datos de usuarios sin compartirlos entre aplicaciones.

Comencemos con la definición.

¿Qué es OAuth?

OAuth, también conocido como Autorización abierta, es un protocolo de Internet y un estándar abierto para que las aplicaciones sigan a los usuarios de Internet para acceder a su información en otros sitios web sin compartir las contraseñas. Las grandes empresas de tecnología como Google, Amazon, Facebook utilizan este mecanismo para permitir que los usuarios compartan la información de su perfil con sitios web o aplicaciones de terceros.

Hay dos versiones:

1) OAuth 1.0a 2) OAuth 2.0

En pocas palabras, cuando un usuario inicia sesión en cualquier aplicación de terceros como Airbnb con su cuenta de Google, OAuth conserva las credenciales para que los usuarios inicien sesión en la aplicación de Airbnb y la administren en segundo plano sin compartir la información con la aplicación.

En resumen, minimizó el riesgo de amenazas de seguridad al mantener seguras las credenciales de la cuenta de Google. Además, permite a los usuarios permitir que las aplicaciones accedan a sus datos sin tener que compartirlos.

¿Cómo funciona OAuth?

OAuth se centra principalmente en:

  • El usuario final (propietario de los recursos/información) incluye los datos del usuario, a los que la aplicación cliente desea acceder.
  • Aplicación Cliente (API): Aplicación Cliente: Incluye el sitio web/aplicación web, que necesita acceder a la información.
  • Proveedor de servicios OAuth: la aplicación o sitio web que contiene las credenciales personales del usuario. Es compatible con OAuth al ofrecer una API para la interacción con un servidor de autorización y de recursos.

El proceso tiene diferentes «flujos» o «tipos de subvenciones».

  • La aplicación cliente solicita acceso a los datos del usuario.
  • El usuario final inicia sesión en el servicio.
  • La aplicación cliente obtiene un token de acceso. Ahora tendrán permiso del usuario para acceder a los datos solicitados.
  • La aplicación cliente usa el token de acceso para realizar llamadas a la API al recibir los datos del servidor de recursos.

OAuth: Autenticación vs Autorización

Autenticación: Es el proceso de aprobación de un usuario como la persona correcta para acceder a la aplicación. También se conoce como «AuthN». Por ejemplo, Microsoft usa el protocolo OpenID Connect para la autenticación.

Autorización: Un proceso de permitir a una persona autenticada. También se conoce como «AuthZ». Por ejemplo, Microsoft usa el protocolo OAuth2.0 para la autorización.

Diferencias entre OAuth1.0 y OAuth2.0

OAuth1.0 y OAuth2.0 son dos versiones diferentes de OAuth. Para que pueda usarlo según sus necesidades en función de sus objetivos.

OAuth1.0

OAuth1.0 se diseñó para abordar las limitaciones de OpenID y se utiliza para la autorización de varias aplicaciones o el acceso manual del usuario. Funciona proporcionando un token de acceso a la aplicación para representar el permiso del usuario para que la aplicación cliente acceda a los datos.

Autenticación automática 2.0

Es la reescritura completa de OAuth1.0 y ahora es el estándar industrial predeterminado para la autorización en línea. OAuth proporciona permiso de acceso a la aplicación para los recursos del usuario alojados por otras aplicaciones web en nombre del usuario.

Además, es un protocolo de autorización y no de autenticación, ya que está diseñado principalmente para dar acceso a un conjunto de recursos/datos del usuario.

Autenticación automática 1.0
Autenticación automática 2.0
Independiente del transporte

Fundada en Criptografía, especialmente firmas digitales.

No es más fácil trabajar con él.

No muy flexible. Solo maneja flujos de trabajo web.


Flujo de trabajo de firma básico
Dependiente del transporte

Es bueno para la integración, pero no excelente para la seguridad.

Es mucho más útil y fácil de usar, pero más difícil de construir de forma segura.

Mucho más flexible. Maneja tanto flujos de trabajo web como clientes no web.

Flujo de trabajo de firma básico

¿Cómo ayuda OAuth2.0 a la seguridad de las API?

OAuth está diseñado explícitamente como un enfoque avanzado para otorgar acceso a las aplicaciones. Utiliza tokens otorgados para proporcionar seguridad avanzada, como funciones de alcance para establecer permisos detallados para aplicaciones. Además, tiene el atributo esencial llamado disponibilidad de tokens con restricción de tiempo, ya que uno no puede reutilizarlos una vez que caducan.

Dado que OAuth2.0 está diseñado como un marco, actúa como un acuerdo operativo general y sirve para múltiples propósitos al ofrecer…

  • JSON Web Tokens define cargas útiles para pasar datos entre sistemas con mecanismos de caducidad integrados y firmas para la validación.
  • OpenID Connect: Permite la estandarización de tokens para compartir información de perfil de usuario.
  • El tipo de concesión de dispositivo: extiende OAuth a IoT y dispositivos inteligentes.

¿Cómo ayuda OAuth 2.0 a la gestión de acceso a las API?

El marco OAuth2.0 ha simplificado la interacción del usuario con las aplicaciones al proteger su información personal. Además, protege firmemente los datos del usuario al tiempo que permite que las aplicaciones accedan a ellos sin exposición. En segundo plano, la API otorga acceso al usuario cada vez que recibe el token válido y con restricción de tiempo de la aplicación generada mediante el marco OAuth2.0.

¿Cómo funciona la gestión de acceso API?

La API de administración de acceso permite a un usuario acceder a las funciones administrativas de la plataforma, que incluyen:

  • Invitación y registro
  • Gestión de usuarios
  • Gestión de clientes
  • Organizaciones y Grupos Empresariales
  • Roles y permisos
  • Entornos
  • Derechos

La gestión de acceso a la API proporciona una capa de autorización coherente y predecible para que cualquier usuario y servicio acceda a los servicios, independientemente del idioma, el marco o la arquitectura.

Beneficios de la gestión de acceso API

  • Permite crear alcances y reclamos personalizados.
  • Permite crear uno o más servidores de autorización personalizados. Por lo tanto, ayuda a administrar conjuntos de acceso a la API para múltiples aplicaciones cliente.
  • Pasa tokens validados en lugar de credenciales. Los tokens JWT generalmente transportan las cargas útiles para el contexto del usuario.

Para resumir

OAuth cubre una gran superficie de seguridad. Todo lo que necesita es asegurarse de que las entradas de la aplicación sean validadas y un conjunto de herramientas seguro. De esta manera, la seguridad basada en tokens o OAuth puede ayudar a construir una mejor verificación de permisos en la base de usuarios.

Consulte a un equipo de expertos en servicios de desarrollo de software personalizado para crear aplicaciones seguras y confiables para todos.

Comparta sus pensamientos en la sección de comentarios; estaremos encantados de discutirlos.

Agregar Facebook Messenger a su sitio SimplyBook.me con Google Tag Manager [video]
Arrow iconPrevious post
El nuevo menú de interfaz: navegación más fácil e intuitiva
Next postArrow icon