OAuth
OAuth (Open Authorization) é um padrão aberto de autorização delegada que permite que um aplicativo de terceiros acesse dados do usuário em outro serviço sem que o usuário precise compartilhar sua senha.
Entendendo OAuth
O OAuth resolve um problema fundamental em integrações: como o App A acessa seus dados no App B sem que você precise passar sua senha do App B para o App A? Compartilhar senhas é perigoso — se o App A for comprometido, suas credenciais do App B também estarão em risco. O OAuth cria uma alternativa mais segura por meio de tokens de autorização. O fluxo do OAuth funciona assim: você clica em 'Conectar ao Gmail' no GAIA, é redirecionado para a página de autorização do Google, aprova as permissões específicas que o GAIA está solicitando (ler e-mail, enviar e-mail, gerenciar agenda), o Google emite um token de acesso para o GAIA e o GAIA usa esse token para fazer chamadas de API em seu nome. Sua senha do Google nunca é compartilhada com o GAIA. O OAuth 2.0 (padrão atual) suporta vários fluxos para diferentes contextos: Authorization Code (para aplicativos web, o mais seguro), Client Credentials (para integrações servidor a servidor) e Device Code (para dispositivos sem navegador). A maioria das integrações voltadas para o usuário usa o fluxo Authorization Code. Scopes são um recurso fundamental de segurança do OAuth. Em vez de conceder acesso total, os 'scopes' permitem permissões granulares — o GAIA pode solicitar o escopo de 'ler e-mail', mas não o de 'excluir e-mail'. Os usuários veem exatamente quais permissões estão concedendo e podem revogá-las a qualquer momento.
Como GAIA usa OAuth
O GAIA utiliza o OAuth 2.0 para todas as integrações de terceiros, incluindo Gmail, Google Calendar, Slack, Notion, Linear e mais de 50 outros serviços. Você autoriza o GAIA com escopos específicos para cada serviço; o GAIA nunca armazena suas senhas. Todos os tokens OAuth são criptografados em repouso e podem ser revogados a qualquer momento nas configurações de contas conectadas.
Conceitos relacionados
Integração de API
Integração de API é o processo de conectar diferentes aplicativos por meio de suas Interfaces de Programação de Aplicações, permitindo que compartilhem dados e funcionalidades de forma transparente.
Self-Hosting
Self-hosting é a prática de executar softwares em seus próprios servidores ou infraestrutura, em vez de usar um serviço hospedado na nuvem, garantindo controle total sobre seus dados, configurações e disponibilidade.
Soberania de Dados
Soberania de dados é o princípio de que os dados estão sujeitos às leis e regulamentos da jurisdição onde são armazenados, e que indivíduos e organizações têm o direito de controlar onde seus dados residem e quem pode acessá-los.
API REST
Uma API REST (Representational State Transfer) é uma interface de serviço web que utiliza métodos HTTP padrões (GET, POST, PUT, DELETE, PATCH) para acessar e manipular recursos identificados por URLs, seguindo um conjunto de convenções arquiteturais que tornam as APIs previsíveis e interoperáveis.
Webhook
Um webhook é um mecanismo de callback HTTP em que um sistema envia uma requisição HTTP automatizada para uma URL especificada sempre que um evento definido ocorre, permitindo notificações em tempo real e integração entre serviços sem necessidade de polling.


