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.
seed#oauth#oidc#authentication#authorization#jwt#identity
¿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.