Parcourir la documentation

Créer une app OAuth Google pour OpenConnector

Utilisez une app OAuth Google lorsqu’un runtime OOMOL OpenConnector auto-hébergé doit connecter le compte Google d’un utilisateur. Un projet Google Cloud peut contenir le client OAuth utilisé par Gmail, Google Drive, Google Calendar, Google Sheets, Google Docs, Google Slides, YouTube, Google Analytics, Google BigQuery et d’autres fournisseurs d’API Google.

Services OpenConnector

Les ID courants des services OAuth Google comprennent :

ID du serviceFournisseur
gmailGmail
googledriveGoogle Drive
googlecalendarGoogle Calendar
googlesheetsGoogle Sheets
googledocsGoogle Docs
googleslidesGoogle Slides
youtubeYouTube
google_analyticsGoogle Analytics
google_bigqueryGoogle BigQuery

Chaque service stocke sa propre configuration de client OAuth dans OpenConnector. Vous pouvez réutiliser le même ID et le même secret client OAuth Google pour plusieurs services Google si le client accepte la même URI de redirection ainsi que les API et scopes requis.

Prérequis

  • Un runtime OpenConnector en cours d’exécution.
  • Un compte Google ayant accès à un projet Google Cloud.
  • La permission de configurer le consentement OAuth, d’activer des API et de créer des identifiants OAuth dans Google Cloud.
  • L’origine OpenConnector ouverte par les utilisateurs dans le navigateur, par exemple http://localhost:3000 ou https://connect.example.com.

Étape 1 : définir l’URL de callback OpenConnector

Pour un test local, utilisez :

http://localhost:3000/oauth/callback

Pour un runtime public, définissez d’abord OOMOL_CONNECT_ORIGIN, puis utilisez :

https://connect.example.com/oauth/callback

Étape 2 : préparer le projet Google Cloud

Dans Google Cloud Console :

  1. Créez ou sélectionnez un projet.
  2. Ouvrez APIs & Services.
  3. Activez les API nécessaires à votre service OpenConnector, par exemple Gmail API, Google Drive API, Google Calendar API, Google Sheets API, YouTube Data API, Google Analytics Data API ou BigQuery API.
  4. Ouvrez OAuth consent screen et configurez le nom de l’app, l’adresse e-mail d’assistance, l’audience, les coordonnées et les utilisateurs de test lorsque Google les demande.
  5. Ajoutez les scopes nécessaires au service OpenConnector ou laissez Google les afficher pendant le consentement au démarrage de la requête OAuth.

Google peut exiger une vérification avant une utilisation étendue en production des scopes sensibles ou restreints. Pour un usage local ou des tests internes, laissez l’app dans l’état de test ou interne autorisé par votre type de compte Google.

Étape 3 : créer les identifiants OAuth

Dans APIs & Services > Credentials :

  1. Choisissez Create credentials.
  2. Choisissez OAuth client ID.
  3. Sélectionnez Web application.
  4. Ajoutez l’URL de callback OpenConnector exacte aux URI de redirection autorisées.
  5. Créez le client.
  6. Copiez l’ID et le secret du client.

Consultez le guide OAuth officiel de Google Using OAuth 2.0 for Web Server Applications.

Étape 4 : enregistrer le client dans OpenConnector

Utilisez la console web d’OpenConnector pour le service à connecter :

  1. Ouvrez la console web d’OpenConnector, par exemple http://localhost:3000.
  2. Ouvrez Providers et sélectionnez Gmail ou un autre fournisseur Google.
  3. Choisissez Configure OAuth Client ou Edit OAuth Client.
  4. Collez l’ID et le secret du client Google.
  5. Choisissez Save OAuth Client.

Répétez ces étapes sur la page de chaque fournisseur Google pour réutiliser le même client OAuth Google avec un autre fournisseur.

Étape 5 : connecter et tester

Après avoir enregistré le client OAuth, choisissez Connect sur la page du fournisseur Google. Terminez le consentement Google, revenez dans OpenConnector et vérifiez que la page du fournisseur indique que le compte est connecté.

Pour Gmail, gmail.get_profile et gmail.list_labels sont des opérations de test à faible risque. Consultez les détails de l’opération dans la console pour vérifier les données exactes avant de l’exécuter.

Résolution des problèmes

SymptômeVérification
redirect_uri_mismatchL’URI envoyée à Google doit correspondre exactement à une URI de redirection autorisée dans le client OAuth. Vérifiez qu’il s’agit de <openconnector-origin>/oauth/callback.
Google indique que l’app n’est pas vérifiéePoursuivez les tests avec les utilisateurs de test autorisés, utilisez le mode interne si disponible ou terminez la procédure de vérification de Google avant une utilisation étendue.
Google ne fournit pas de refresh tokenReconnectez le compte. Les fournisseurs Google d’OpenConnector demandent l’accès hors ligne et le consentement lorsque leur définition exige des refresh tokens.
Une opération Google indique des permissions insuffisantesActivez l’API requise dans Google Cloud, ajoutez ou approuvez le scope requis, puis reconnectez le compte.
Le mauvais compte Google est utiliséReconnectez-vous depuis un profil de navigateur connecté au compte Google voulu.

Conservez les secrets des clients Google dans votre gestionnaire de secrets et définissez OOMOL_CONNECT_ENCRYPTION_KEY avant de stocker des clients OAuth dans OpenConnector.