OAuth y OIDC
Estándares de la industria para autorización delegada (OAuth 2.0) y autenticación federada (OpenID Connect), habilitando login con terceros y acceso seguro a APIs.
¿Qué es?
- OAuth 2.0: protocolo de autorización que permite a aplicaciones acceder a recursos en nombre de un usuario sin conocer sus credenciales
- OpenID Connect (OIDC): capa de identidad sobre OAuth 2.0 que añade autenticación
Flujos OAuth 2.0
| Flujo | Uso |
|---|---|
| Authorization Code | Apps web con backend |
| Authorization Code + PKCE | SPAs, mobile apps |
| Client Credentials | Machine-to-machine |
| Device Code | Dispositivos sin browser |
Tokens
| Token | Propósito | Duración | Estándar |
|---|---|---|---|
| Access Token | Autoriza acceso a recursos | Corta (minutos-horas) | OAuth 2.0 |
| Refresh Token | Obtiene nuevos access tokens | Larga (días-semanas) | OAuth 2.0 |
| ID Token | Contiene información del usuario | Corta | OIDC (siempre JWT) |
JWT (JSON Web Token)
Formato común para tokens: header.payload.signature. Permite verificar integridad sin llamar al servidor de autenticación.
Proveedores
- Auth0, Okta (SaaS)
- AWS Cognito, Azure AD B2C (cloud)
- Keycloak (open-source)
¿Por qué importa?
OAuth 2.0 y OpenID Connect son los estándares de autenticación y autorización de la web moderna. Implementarlos correctamente protege a los usuarios y a la aplicación. Implementarlos mal crea vulnerabilidades que los atacantes conocen bien.
Referencias
- OAuth 2.0 — Especificación.
- OpenID Connect — Especificación.
- RFC 6749 — OAuth 2.0 — IETF, 2012. Especificación original de OAuth 2.0.
Contenido relacionado
- Diseño de APIs
Principios y prácticas para diseñar interfaces de programación claras, consistentes y evolucionables que faciliten la integración entre sistemas.
- AWS IAM
Servicio de gestión de identidad y acceso de AWS que controla quién puede hacer qué en tu cuenta, con políticas granulares basadas en el principio de mínimo privilegio.
- Zero Trust
Arquitectura de seguridad que verifica rigurosamente cada solicitud independientemente de su origen, eliminando la confianza implícita en redes internas.
- Patrón API Gateway
Patrón que proporciona un punto de entrada único para múltiples microservicios, manejando routing, autenticación, rate limiting y agregación de respuestas.