concepto · intermedio · 2 min de lectura
OAuth2
OAuth2 es un protocolo de autorización que permite a una aplicación acceder a recursos protegidos en nombre de un usuario, sin que el usuario comparta sus credenciales directamente con la aplicación.
No requiere conocimientos previos.
Alcance en breve
Cubre
- OAuth2 as an architectural concept
No cubre
- implementation details
Supone
- The reader understands distributed systems concepts.
Resumen
OAuth2 —Open Authorization 2.0— es un estándar abierto para delegación de acceso. En lugar de darle tu contraseña de Google a una app de terceros, OAuth2 permite que la app te redirija a Google, donde iniciás sesión y autorizás permisos específicos —«esta app puede ver tu email y tu foto de perfil, pero no leer tus correos»—. Google le entrega a la app un token de acceso que representa esa autorización limitada.
Importa porque es el protocolo de facto para autorización en la web moderna. "Iniciar sesión con Google/Facebook/GitHub" es OAuth2. Las APIs de Google, Microsoft, Twitter, Spotify y miles más usan OAuth2 para proteger el acceso a sus recursos.
OAuth2 define cuatro roles: resource owner (el usuario), client (la app que pide acceso), authorization server (quien autentica y emite tokens), y resource server (quien guarda los datos protegidos). También define flujos —grants— según el tipo de cliente: Authorization Code para apps web, Client Credentials para servicios backend, Device Code para TVs y dispositivos sin navegador.
Alcance y supuestos
Este paquete cubre OAuth2 como protocolo de autorización, sus flujos y roles. Asume familiaridad con HTTP y APIs.
Modelo mental
La llave de un hotel. Cuando hacés check-in, el recepcionista no te da la llave maestra del hotel. Te da una llave que abre solo tu habitación y solo durante tu estadía. OAuth2 es el recepcionista que emite llaves limitadas en tiempo y alcance.
Uso práctico
- ✅ "Iniciar sesión con Google/GitHub".
- ✅ APIs que necesitan acceso limitado y revocable a recursos de usuarios.
- ❌ Autenticación: OAuth2 es autorización, no autenticación. OpenID Connect extiende OAuth2 para cubrir autenticación.
Ejemplo trabajado: login con Google
Una app de recetas ofrece "Iniciar sesión con Google". El flujo Authorization Code: la app redirige al usuario a Google, el usuario autoriza, Google devuelve un código, la app lo intercambia por un access token y opcionalmente un refresh token. La app usa el access token para llamar a la Google API y obtener el perfil del usuario. La app nunca vio la contraseña del usuario.
Evidencia
- Wikipedia, OAuth 2.0 documenta los flujos, roles y tokens del protocolo.
Fuentes citadas
- Wikipedia, OAuth 2.0 (Síntesis, 21-07-2026)