¿Qué es OAuth?
OAuth 2.0 es un marco de autorización abierto que permite a una aplicación de terceros obtener acceso limitado a los recursos de un usuario en otro servicio —como su perfil o sus datos— sin que el usuario comparta su contraseña con el tercero.
También conocido como: OAuth 2.0, OAuth2, open authorization
OAuth resuelve un problema concreto: ¿cómo puedes conceder a una aplicación acceso a tus datos en otro servicio sin darle tu contraseña? Antes de OAuth, la respuesta solía ser entregar las credenciales directamente, una práctica que concedía acceso ilimitado sin forma de revocarlo de manera selectiva. OAuth introduce el concepto de autorización delegada mediante tokens de acceso con alcance y duración limitados.
El flujo de OAuth 2.0 involucra a cuatro partes: el propietario del recurso (el usuario), el cliente (la aplicación de terceros), el servidor de autorización (que emite los tokens) y el servidor de recursos (que aloja los datos del usuario). El usuario se autentica ante el servidor de autorización, concede permisos específicos al cliente y el cliente recibe un token de acceso. Este token se usa para acceder a los recursos del usuario sin que el cliente vea nunca la contraseña del usuario.
OAuth 2.0 define varios tipos de concesión para distintos escenarios: el flujo de código de autorización (para aplicaciones del lado del servidor), el flujo de código de autorización mejorado con PKCE (para clientes públicos como aplicaciones móviles y de página única), las credenciales de cliente (para la comunicación de máquina a máquina) y el flujo de código de dispositivo (para dispositivos con entrada limitada). El marco se extiende con OpenID Connect (OIDC), que añade una capa de identidad estandarizada para la autenticación sobre las capacidades de autorización de OAuth.
Cómo usa Vaulted OAuth
Vaulted no implementa OAuth porque no tiene cuentas de usuario, ni integraciones de terceros, ni necesidad de autorización delegada. Sin embargo, los tokens de OAuth son un tipo habitual de credencial sensible que la gente necesita compartir de forma segura; por ejemplo, compartir el secreto de cliente de una cuenta de servicio con un equipo de despliegue. Vaulted proporciona un canal seguro para transmitir estos tokens sin exponerlos en mensajes de Slack, correos electrónicos o sistemas de tickets donde persistirían indefinidamente.