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 service | Fournisseur |
|---|---|
gmail | Gmail |
googledrive | Google Drive |
googlecalendar | Google Calendar |
googlesheets | Google Sheets |
googledocs | Google Docs |
googleslides | Google Slides |
youtube | YouTube |
google_analytics | Google Analytics |
google_bigquery | Google 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:3000ouhttps://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 :
- Créez ou sélectionnez un projet.
- Ouvrez APIs & Services.
- 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.
- 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.
- 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 :
- Choisissez Create credentials.
- Choisissez OAuth client ID.
- Sélectionnez Web application.
- Ajoutez l’URL de callback OpenConnector exacte aux URI de redirection autorisées.
- Créez le client.
- 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 :
- Ouvrez la console web d’OpenConnector, par exemple
http://localhost:3000. - Ouvrez Providers et sélectionnez Gmail ou un autre fournisseur Google.
- Choisissez Configure OAuth Client ou Edit OAuth Client.
- Collez l’ID et le secret du client Google.
- 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ôme | Vérification |
|---|---|
redirect_uri_mismatch | L’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ée | Poursuivez 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 token | Reconnectez 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 insuffisantes | Activez 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.
Wanta