OAuth
OAuth (Autorización Abierta) es un estándar abierto para autorización delegada que permite que una aplicación de terceros acceda a los datos del usuario en otro servicio sin necesitar que el usuario comparta su contraseña.
Comprendiendo OAuth
OAuth resuelve un problema fundamental en las integraciones: ¿cómo puede la App A acceder a tus datos en la App B sin que le des a la App A tu contraseña de la App B? Compartir contraseñas es peligroso: si comprometen la App A, también estarían en riesgo tus credenciales de la App B. OAuth crea una alternativa más segura mediante el uso de tokens de autorización. El flujo OAuth funciona así: haces clic en 'Conectar con Gmail' en GAIA, eres redirigido a la página de autorización de Google, apruebas los permisos específicos que solicita GAIA (leer correo, enviar correo, gestionar calendario), Google emite un token de acceso para GAIA y GAIA lo utiliza para hacer llamadas API en tu nombre. Nunca le das tu contraseña de Google a GAIA. OAuth 2.0 (el estándar actual) soporta varios flujos para distintos contextos: Authorization Code (para aplicaciones web, el más seguro), Client Credentials (para integraciones de servidor a servidor) y Device Code (para dispositivos sin navegador). La mayoría de integraciones para usuarios utilizan el Authorization Code flow. Los scopes son una característica fundamental de seguridad de OAuth. En vez de un acceso completo, los scopes de OAuth definen permisos granulares: GAIA podría solicitar el permiso 'leer correo' pero no 'eliminar correo'. Los usuarios pueden ver exactamente qué permisos están otorgando y revocarlos en cualquier momento.
Cómo GAIA usa OAuth
GAIA utiliza OAuth 2.0 para todas las integraciones de terceros, incluyendo Gmail, Google Calendar, Slack, Notion, Linear y más de 50 servicios adicionales. Autoriza a GAIA con permisos específicos para cada servicio; GAIA nunca almacena tus contraseñas. Todos los tokens OAuth están cifrados en reposo y puedes revocarlos en cualquier momento desde la configuración de tus cuentas conectadas.
Conceptos relacionados
Integración de API
La integración de API es el proceso de conectar distintas aplicaciones de software a través de sus Interfaces de Programación de Aplicaciones, permitiendo que compartan datos y funcionalidades de manera fluida.
Autoalojamiento
El autoalojamiento es la práctica de ejecutar el software en tus propios servidores o infraestructura, en vez de utilizar un servicio alojado en la nube, otorgándote control total sobre tus datos, configuración y disponibilidad.
Soberanía de los datos
La soberanía de los datos es el principio de que los datos están sujetos a las leyes y gobernanza de la jurisdicción donde se almacenan, y que las personas y organizaciones tienen derecho a controlar dónde residen sus datos y quién tiene acceso a ellos.
API REST
Una API REST (Transferencia de Estado Representacional) es una interfaz de servicio web que utiliza métodos HTTP estándar (GET, POST, PUT, DELETE, PATCH) para acceder y manipular recursos identificados por URLs, siguiendo un conjunto de convenciones arquitectónicas que hacen que las APIs sean predecibles e interoperables.
Webhook
Un webhook es un mecanismo de devolución de llamada HTTP donde un sistema envía una solicitud HTTP automatizada a una URL específica cada vez que ocurre un evento definido, lo que permite notificación e integración en tiempo real entre servicios sin sondeo.


