Glosario de F5

Oauth

¿Qué es OAuth?

OAuth es un protocolo utilizado para intercambiar información de autorización, lo que permite que múltiples servicios en línea interactúen con el permiso del usuario. "OAuth 1.0" se publicó como RFC 5849 en abril de 2010, y "OAuth 2.0" le siguió como RFC 6749 en octubre de 2012.

Imagina que quieres publicar una foto en Instagram y compartirla automáticamente en Twitter. Acceder manualmente a ambos servicios para realizar la misma publicación puede ser tedioso. En cambio, Instagram ofrece una función llamada publicación cruzada, que permite compartir automáticamente tus publicaciones de Instagram en otras redes sociales, como Twitter, mediante sus API. Este proceso es facilitado por OAuth.

Para publicar en Twitter, la autenticación típica requiere un ID de usuario y una contraseña, denominada Autenticación básica. Sin embargo, compartir estas credenciales confidenciales con otro servicio es riesgoso. OAuth resuelve esto intercambiando información de autorización en lugar de credenciales de autenticación, otorgando permisos limitados para la tarea.

En terminología OAuth:

  • El servicio que recibe la autorización (por ejemplo, Instagram) se llama cliente OAuth.
  • El servicio que otorga la autorización (por ejemplo, Twitter) se llama servidor OAuth.
  • El usuario se denomina propietario del recurso.

Para iniciar el proceso, el cliente OAuth primero debe registrarse en el servidor OAuth proporcionando detalles como el nombre de su aplicação y su dominio. Si el servidor OAuth considera que el cliente es confiable, le asigna un ID de cliente.

Cuando el usuario (propietario del recurso) da autorización, el cliente OAuth redirige al usuario al servidor OAuth. El servidor OAuth autentica al usuario y pregunta si se deben conceder los permisos indicados al cliente OAuth. Tras la aprobación del usuario, el servidor redirecciona al usuario al cliente OAuth y le otorga un token de acceso. Este token sirve como prueba de autorización, permitiendo al cliente OAuth acceder a la API del servidor OAuth. El token permanece válido hasta su vencimiento o revocación explícita.