¿Qué es OAuth?
Descubre qué es OAuth y cómo se usa para autorizar el acceso entre aplicaciones y servicios sin poner en peligro la información confidencial.
Explicación de OAuth
OAuth es un estándar tecnológico que permite autorizar a una aplicación o servicio a iniciar sesión en otra sin divulgar información privada, como contraseñas. Si alguna vez has recibido un mensaje como, "¿Iniciar sesión con Facebook?" o "¿Permitir que esta aplicación acceda a tu cuenta?" entonces ya has visto OAuth en acción.
OAuth es una abreviatura de Open Authorization (no de Open Authentication, como se supone a veces). La autenticación es un proceso que comprueba tu identidad. Aunque OAuth necesita tu identidad, su propósito es conceder permiso para conectarte sin problemas con diferentes aplicaciones y servicios sin tener que crear una nueva cuenta. OAuth proporciona un uso sencillo, ya que puedes autorizar a dos aplicaciones a compartir algunos de tus datos sin revelar tus credenciales. Logra un equilibrio entre comodidad y seguridad.
OAuth está diseñado para funcionar con el Protocolo de transferencia de hipertexto (HTTP). Usa tokens de acceso para demostrar tu identidad y permitirte interactuar con otro servicio en tu nombre. En caso de que este segundo servicio sufra una vulneración de datos, tus credenciales en el primer servicio permanecerán seguras. OAuth es un protocolo de estándar abierto ampliamente adoptado y la mayoría de los desarrolladores de sitios web y aplicaciones lo usan.
Lo importante es que OAuth no concede a una aplicación o servicio de terceros acceso ilimitado a los datos. Parte del protocolo se centra en especificar a qué datos puede acceder el tercero y qué puede hacer con esos datos. Establecer estas limitaciones y la protección general de las identidades es especialmente importante en escenarios empresariales en los que muchas personas tienen acceso a una gran cantidad de información confidencial y de su propiedad.
¿Cómo funciona OAuth?
Los tokens de acceso son lo que hace que OAuth sea seguro de usar. Un token de acceso es un fragmento de datos que contiene información sobre el usuario y el recurso para el que está pensado el token. Un token también incluirá reglas específicas para el uso compartido de datos.
Por ejemplo, es posible que quieras compartir fotos de tu perfil de redes sociales con una aplicación de edición de fotos, pero solo quieres que tenga acceso a algunas de tus fotos. Tampoco es necesario que tenga acceso a tus mensajes directos ni a tu lista de amigos. En este caso, el token solo autorizará el acceso a los datos que apruebes. También puede haber reglas que rigen cuándo puede la aplicación usar ese token—para un solo uso o para usos periódicos— y una fecha de expiración.
El proceso de OAuth es principalmente una interacción de máquina a máquina con solo algunos puntos de contacto con el usuario. En algunos escenarios, es posible que no tengas que proporcionar tu aprobación porque el software la procesa de forma silenciosa en segundo plano. Dos ejemplos de OAuth de este tipo se encontrarían en un escenario de trabajo empresarial, donde una plataforma de identidad controla las conexiones entre los recursos para reducir la fricción de TI para un gran número de usuarios o en las interacciones entre algunos dispositivos inteligentes.
Ejemplos de tecnología de OAuth
Al igual que muchas tecnologías que simplifican algo tedioso —en este caso, crear cuentas manualmente para varias aplicaciones— los creadores de aplicaciones han adoptado casi universalmente OAuth. Tiene una amplia variedad de casos de uso para personas y empresas.
Para dar un ejemplo de OAuth, supongamos que estás usando Microsoft Teams como herramienta de colaboración y deseas obtener más información sobre las personas con las que trabajas, tanto dentro como fuera de tu organización. Decides habilitar la integración de LinkedIn para obtener más información sobre las personas a medida que interactúas con ellas, sin salir de Teams. Microsoft y LinkedIn usarían OAuth para autorizar la vinculación de tus cuentas con tu identidad de Microsoft.
Otro escenario que usaría OAuth sería descargar una aplicación de presupuestos para seguir los gastos con alertas y ayudas visuales, como gráficos. Para realizar su trabajo, la aplicación necesitaría acceso a algunos de los datos bancarios. Puedes iniciar una solicitud para vincular tu cuenta bancaria con la aplicación, autorizando solo el acceso al saldo y las transacciones de tu cuenta. La aplicación y el banco usarían OAuth para realizar este intercambio de información en tu nombre sin revelar tus credenciales de inicio de sesión bancario a la aplicación.
Otro ejemplo de OAuth: eres un desarrollador que usa GitHub y descubres que hay una aplicación de terceros disponible que se puede integrar con tu cuenta para realizar revisiones de código automatizadas. Vas a GitHub Marketplace y descargas la aplicación. A continuación, te pide que autorices una conexión con la aplicación mediante la identidad de GitHub, un proceso que se controlaría mediante OAuth. La aplicación de revisión podría acceder a tu código sin tener que iniciar sesión en ambos servicios cada vez.
¿Qué diferencias existen entre Office 1.0 y Office 2.0?
La versión original de OAuth 1.0 se desarrolló solo para sitios web. Su uso se ha reducido en la actualidad, ya que OAuth 2.0 funciona también con aplicaciones y es más rápida y fácil de implementar. Además, OAuth 1.0 no se escala como OAuth 2.0 y solo tiene tres flujos de autorización posibles, en comparación con los seis de OAuth 2.0.
Si tienes pensado usar OAuth, es mejor que elijas la versión 2.0 desde el principio. Lamentablemente, OAuth 1.0 no se puede actualizar a OAuth 2.0. OAuth 2.0 se concibió como un rediseño radical de OAuth 1.0 y varias empresas tecnológicas importantes aportaron comentarios sobre su diseño. Un sitio web puede admitir OAuth 1.0 y OAuth 2.0, pero los creadores pretendían que 2.0 reemplazara completamente a 1.0.
OAuth comparado con OIDC
OAuth y Open ID Connect (OIDC) son protocolos estrechamente relacionados. Ambos desempeñan un papel en la concesión de acceso de una aplicación a los recursos de otra aplicación en nombre de un usuario. La diferencia es que OAuth se usa para conceder una autorización de acceso a los recursos, mientras que OIDC se usa para la autenticación de la identidad de una persona. Ambos desempeñan un papel al permitir que dos aplicaciones no relacionadas compartan información sin poner en peligro los datos de usuario.
Los proveedores de identidades suelen usar OAuth 2.0 y OIDC juntos. OIDC se desarrolló específicamente para mejorar las funcionalidades de OAuth 2.0 al agregarle una capa de identidad. Dado que se basa en OAuth 2.0, OIDC no es compatible con OAuth 1.0.
Introducción a OAuth
El uso de OAuth 2.0 con tus sitios web y aplicaciones puede mejorar considerablemente las experiencias de los usuarios o empleados al simplificar el proceso de autenticación de identidad. Para empezar, invierte en una solución de proveedor de identidades, como Microsoft Entra, que protege a los usuarios y los datos con seguridad integrada
Microsoft Entra ID (anteriormente conocida como Azure Active Directory) es compatible con todos los flujos de OAuth 2.0. Los desarrolladores de aplicaciones pueden usar ID como proveedor de autenticación basado en estándares para ayudarles a integrar funcionalidades de identidad modernas y de escala empresarial en las aplicaciones. Los administradores de TI pueden usarlo para controlar el acceso.
Más información sobre Seguridad de Microsoft
-
Explorar Microsoft Entra
Protege las identidades y el acceso seguro entre nubes con una familia holística de soluciones.
-
Microsoft Entra ID (anteriormente, Azure Active Directory)
Protege el acceso a los recursos y los datos mediante una autenticación sólida y un acceso adaptable basado en riesgos.
-
Transmitir confianza hacia tus aplicaciones
Implementa SSO para que los empleados puedan acceder a todos los recursos que necesitan con una credencial.
-
Simplificar las experiencias de inicio de sesión
Implementa SSO para que los empleados puedan acceder a todos los recursos que necesitan con una credencial.
-
Protegerse contra ataques
Usa la autenticación multifactor para mejorar la protección de los recursos de tu organización.
-
Usar OAuth para simplificar el acceso a los datos de correo electrónico
Obtén información sobre cómo autenticar conexiones a aplicaciones mediante protocolos heredados.
Preguntas más frecuentes
-
OAuth es una abreviatura de Open Authorization, un estándar tecnológico que permite autorizar a una aplicación o servicio a iniciar sesión en otra sin divulgar información privada, como contraseñas. Cuando una aplicación te pide autorización para ver la información de tu perfil, lo hace a través de OAuth.
-
OAuth intercambia tokens de acceso, que son fragmentos de datos con información sobre el usuario y el recurso para el que está pensado el token. Una aplicación o sitio web intercambia información cifrada con otra sobre un usuario e incluye reglas específicas para el uso compartido de datos. También puede haber reglas que rigen cuándo puede la aplicación usar ese token, así como una fecha de expiración. El proceso de OAuth es principalmente una interacción de máquina a máquina con solo algunos puntos de contacto para el usuario (de haberlos).
-
Muchas empresas usan OAuth para simplificar el acceso a sitios web y aplicaciones de terceros sin divulgar las contraseñas de los usuarios ni los datos confidenciales. Google, Amazon, Microsoft, Facebook y Twitter lo usan para compartir información sobre sus cuentas con una amplia variedad de propósitos, incluida la simplificación de las compras. La Plataforma de identidad de Microsoft usa OAuth para autorizar permisos para cuentas profesionales y educativas, cuentas personales, cuentas sociales y cuentas de juegos.
-
OAuth y Open ID Connect (OIDC) son protocolos estrechamente relacionados. Ambos desempeñan un papel en la concesión de acceso de una aplicación a los recursos de otra aplicación en nombre de un usuario. La diferencia es que OAuth se usa para conceder una autorización de acceso a los recursos, mientras que OIDC se usa para la autenticación de la identidad de una persona. Ambos desempeñan un papel al permitir que dos aplicaciones no relacionadas compartan información sin poner en peligro los datos de usuario.
-
Hay muchas diferencias entre OAuth 1.0 y OAuth 2.0, ya que OAuth 2.0 se diseñó para ser un rediseño radical de OAuth 1.0, dejando a este último obsoleto. OAuth 1.0 se desarrolló solo para sitios web, mientras que OAuth 2.0 se ha diseñado para aplicaciones y sitios web. OAuth 2.0 es más rápida y fácil de implementar, se puede escalar y tiene seis flujos de autorización posibles en comparación con los tres que tiene OAuth 1.0.
Sigue a Microsoft 365.