¿Qué es la autenticación de OAuth? Una breve historia.
La autenticación de OAuth 2.0, como se explica en oauth.net, es un “protocolo de delegación que se utiliza para transmitir decisiones de autorización a través de una red de aplicaciones y API habilitadas para web.” OAuth fue creado en 2006 por desarrolladores de Twitter y Ma.gnolia, un sitio de marcadores sociales. Ma.gnolia estaba buscando una manera de usar OpenID, junto con la API de Twitter, para delegar la autenticación. Los equipos investigaron ideas y finalmente se dieron cuenta de que no había un estándar abierto para la delegación de acceso a la API. Además, Google también estaba investigando este mismo problema y se enteró del proyecto entre Twitter y Ma.gnolia. Como resultado, los miembros de Google se unieron al equipo. A finales de 2007, el borrador de OAuth Core 1.0 fue lanzado. El marco actual, OAuth 2.0 fue lanzado en octubre de 2012.
Roles de autenticación de OAuth 2.0
Dentro de OAuth 2.0, se definen los cuatro roles siguientes:
- Propietario del recurso. El propietario del recurso puede conceder acceso a un recurso o servicio protegido. Puede ser una persona, una aplicación o una política de seguridad, pero normalmente un ser humano de la vida real.
- Servidor de recursos. Es el servidor que hospeda el recurso o servicio. El servidor acepta y responde a las solicitudes.
- Aplicación cliente. Conocida como el cliente de OAuth, la aplicación cliente es la aplicación que solicita acceso a los recursos en el servidor de recursos.
- Servidor de autorización. Después de autenticar el propietario del recurso y obtener la autorización, el servidor de autorización proporciona los tokens de acceso al cliente.
Es importante tener en cuenta que OAuth no es un protocolo de autenticación, sino que es un protocolo de autorización. La forma en que los componentes trabajan juntos e interactúan puede parecer sugerir la autenticación, sin embargo, no está destinado a ser utilizado como tal.
¿Por qué utilizar la autenticación de OAuth 2.0?
Lo más probable es que ya haya visto el concepto de OAuth en acción y ni siquiera se haya dado cuenta. Muchas de las aplicaciones que utiliza todos los días utilizan OAuth. Por ejemplo, supongamos que estás comprando un artículo y lo encuentras en Etsy. Te gustaría comprarlo, pero el único problema es que no tienes una cuenta de Etsy. En la página principal de Etsy, verás una opción para iniciar sesión con tu cuenta de Facebook o Google. En este caso, usted es propietario de recursos, Etsy es la aplicación cliente y Facebook o Google es la API, o el servidor de autorización. Ahora, tendrás que proporcionar a Etsy información adicional para comprar artículos, pero al usar la autenticación de OAuth, esto te permite iniciar sesión en Etsy sin tener que crear una contraseña adicional. Hoy en día, iniciar sesión con Facebook o Google se ha vuelto omnipresente a través de Internet, así que ¿cuál es realmente el beneficio de OAuth?
- Proteger su privacidad. El uso de OAuth le permite conceder recursos privados de un sitio a otro. OAuth está diseñado para darle acceso a ciertas cosas sin compartir su identidad.
- Experiencia del cliente. En el ejemplo utilizado anteriormente, el uso de tus datos de Facebook podría permitir que Etsy mejore tu experiencia en su aplicación.
- Autenticación más fuerte. Confiar en un sistema de autenticación creado por empresas más grandes, como Facebook o Google, es más fácil, y menos riesgoso, que crear uno interno.
Además, y específicamente para desarrolladores, hay bibliotecas OAuth en una variedad de lenguajes populares, incluyendo PHP, Java, Ruby, Python, .NET, JavaScript y muchos otros. Para obtener la lista completa de idiomas admitidos, visite https://oauth.net/code/.
Supervisión de las API de OAuth 2.0 con Dotcom-Monitor
La API puede requerir la autenticación de OAuth 2.0 para permitir que a otros servicios web, como las aplicaciones cliente, se les concedan derechos de acceso a recursos específicos del servicio a través de HTTP/S. Una llamada a la API de servicio que utiliza OAuth 2.0 debe, como mínimo, sípically seguir estos pasos:
- Obtener un token de acceso a la API.
- Solicitar datos personalizados del servicio mediante el token de acceso otorgado a la aplicación.
Con la plataforma Dotcom-Monitor, puede configurar un dispositivo de supervisión multitarea mediante una tarea HTTP/S. Para ver ejemplos de scripts de autenticación de OAuth en la plataforma Dotcom-Monitor y para obtener más información sobre cómo configurar un dispositivo de supervisión para supervisar la disponibilidad y el rendimiento de las API web basadas en OAuth, lea nuestro artículo de Knowledge Base sobre la supervisión de las API de OAuth 2.0.