OAuth
OAuth (Open Authorization) est une norme ouverte pour l’autorisation déléguée permettant à une application tierce d’accéder aux données d’un utilisateur sur un autre service sans exiger que celui-ci partage son mot de passe.
Comprendre OAuth
OAuth résout un problème central dans les intégrations : comment l’application A accède-t-elle à vos données sur l’application B sans que vous lui donniez le mot de passe de l’application B ? Partager des mots de passe est risqué : si l’application A est compromise, vos identifiants de l’application B le sont aussi. OAuth propose une alternative plus sûre grâce à l’utilisation de jetons d’autorisation. Le flux OAuth fonctionne ainsi : vous cliquez sur « Connecter Gmail » dans GAIA, vous êtes redirigé vers la page d’autorisation de Google, vous approuvez les autorisations spécifiques demandées par GAIA (lire les e-mails, envoyer des e-mails, gérer le calendrier), Google délivre un jeton d’accès à GAIA, qui l’utilise ensuite pour effectuer des appels API en votre nom. Vous ne communiquez jamais votre mot de passe Google à GAIA. OAuth 2.0 (la norme actuelle) propose plusieurs flux selon le contexte : Authorization Code (pour les applications web, le plus sécurisé), Client Credentials (pour les intégrations serveur-à-serveur) et Device Code (pour les appareils sans navigateur). La plupart des intégrations utilisées par les utilisateurs s’appuient sur Authorization Code Flow. Les scopes sont un élément clé de la sécurité OAuth. Plutôt qu’un accès tout ou rien, les scopes OAuth définissent des autorisations précises : GAIA peut par exemple demander l’accès « lecture e-mail » mais pas « supprimer e-mail ». Les utilisateurs voient clairement les autorisations accordées et peuvent les révoquer à tout moment.
Comment GAIA utilise OAuth
GAIA utilise OAuth 2.0 pour toutes les intégrations tierces, y compris Gmail, Google Agenda, Slack, Notion, Linear et plus de 50 autres services. Vous autorisez GAIA avec des permissions spécifiques pour chaque service ; GAIA ne stocke jamais vos mots de passe. Tous les jetons OAuth sont chiffrés au repos et peuvent être révoqués à tout moment depuis les paramètres de vos comptes connectés.
Concepts liés
Intégration API
L'intégration API est le processus qui consiste à connecter différentes applications logicielles via leurs interfaces de programmation (API), leur permettant de partager facilement données et fonctionnalités.
Auto-hébergement
L’auto-hébergement consiste à faire fonctionner un logiciel sur vos propres serveurs ou infrastructure au lieu d’utiliser un service hébergé dans le cloud, vous offrant un contrôle total sur vos données, la configuration et la disponibilité.
Souveraineté des données
La souveraineté des données est le principe selon lequel les données sont soumises aux lois et à la gouvernance de la juridiction dans laquelle elles sont stockées, et les individus ou organisations ont le droit de choisir où résident leurs données et qui y a accès.
API REST
Une API REST (Representational State Transfer) est une interface de service web qui utilise les méthodes HTTP standard (GET, POST, PUT, DELETE, PATCH) pour accéder et manipuler des ressources identifiées par des URL, en suivant un ensemble de conventions architecturales qui rendent les API prévisibles et interopérables.
Webhook
Un webhook est un mécanisme de rappel HTTP par lequel un système envoie automatiquement une requête HTTP à une URL spécifiée dès qu’un événement défini survient, ce qui permet une notification et une intégration en temps réel entre services sans avoir à interroger régulièrement.


