OAuth
OAuth 2.0 es un marco de autorización que permite a aplicaciones de terceros acceder a los recursos del usuario con su consentimiento, sin compartir contraseñas, mediante tokens.
Propósito
Implementa la autorización delegada: una aplicación puede acceder a los recursos del usuario en otro servicio sin ver nunca la contraseña.
Mecanismo
Flujo: el cliente solicita autorización al servidor de autorización → el usuario la concede → el cliente recibe un código de autorización → lo canjea por un access_token → usa el token contra el servidor de recursos. Tipos de concesión: authorization_code, implicit, password, client_credentials y refresh_token.
Casos de uso
- Inicio de sesión de terceros (Google)
- Acceso autorizado a APIs
- SSO entre servicios
- Autorización móvil
Ejemplos
- entrada
authorization code → access_tokenOutputCall the API with the tokenThe authorization code flow
Errores comunes
- The implicit flow exposes the token to the browser
- Use authorization_code with PKCE
Términos relacionados
OpenID Connect
OpenID Connect (OIDC) es una capa de identidad sobre OAuth 2.0 que proporciona autenticación de usuario e información de identidad, y es el estándar de facto para el SSO. GLOSARIO
JWT
JWT (JSON Web Token) es un token compacto y autocontenido que transmite claims de forma segura como objeto JSON, ampliamente usado para autenticación sin estado e intercambio de información. GLOSARIO
Bearer Token
Un token Bearer es un tipo de token que funciona puramente por posesión: se envía en la cabecera Authorization: Bearer <token>, de modo que quien lo posea puede usarlo, sin credenciales adicionales. GLOSARIO
Cookie
Una cookie es un par clave-valor fijado por el servidor y almacenado por el navegador, enviado automáticamente con las peticiones del mismo origen para la gestión de sesiones y estado. GLOSARIO