Mon automation contient l’envoi d’emails via Gmail, ils devraient être envoyés avec le compte Gmail de mon client comme expéditeur. Comment faire pour ajouter l’authentification OAuth pour le Gmail de mon client ?
Quand je veux créer une nouvelle credential OAuth2, une fenêtre contextuelle d’authentification Google apparaît, mais je n’ai pas les identifiants de mon client. Je lui ai passé le lien de cette fenêtre contextuelle mais ça ne marche pas.
Comment configurer l’expéditeur à distance (sans que le client n’ait besoin de venir sur mon ordinateur physique) et sans que nous nous partagions les identifiants ?
Pour que OAuth2 fonctionne à distance, votre instance n8n doit être accessible via une URL publique (par exemple, https://n8n.yourdomain.com).
Assurez-vous que n8n est public : Si vous l’auto-hébergez, assurez-vous d’avoir configuré la variable d’environnement WEBHOOK_URL vers votre domaine public.
Commencez le processus : Dans les paramètres de vos identifiants n8n pour Gmail, cliquez sur le bouton « Connecter mon compte » (ou similaire).
Copiez l’URL de redirection : Quand la fenêtre contextuelle de connexion Google s’ouvre, ne copiez pas simplement l’URL de la barre d’adresse pendant que vous êtes sur la page « Se connecter ». Au lieu de cela, attendez que la fenêtre contextuelle soit active, puis copiez l’URL entière de la barre d’adresse de cette fenêtre contextuelle.
Envoyez au client : Envoyez cette URL spécifique à votre client.
Action du client : Le client ouvre le lien, se connecte à son Gmail, et clique sur « Autoriser ».
La validation : Parce que votre instance n8n se trouve sur une URL publique, le navigateur du client le redirigera avec succès vers votre instance n8n avec le code d’autorisation. Votre n8n « capturera » automatiquement ce code et finalisera la configuration.
Remarque : Si vous ne pouvez pas héberger n8n publiquement, vous pouvez temporairement utiliser un outil comme ngrok ou Cloudflare Tunnel pour créer une URL publique sécurisée pour votre instance n8n locale juste pour cette étape d’authentification.
Si la politique informatique du client rend OAuth2 trop difficile, ou si vous ne pouvez pas passer à une URL publique, vous pouvez utiliser la méthode IMAP/SMTP à la place du OAuth2 du nœud Gmail.
Tâche du client : Demandez au client de générer un « Mot de passe d’application » dans les paramètres de son compte Google (nécessite que la vérification en deux étapes soit ACTIVÉE).
Votre tâche : Dans n8n, au lieu d’utiliser le nœud « Gmail » avec OAuth2, utilisez le nœud « Send Email » configuré avec les paramètres SMTP :
Hôte :smtp.gmail.com
Port :465 (SSL) ou 587 (STARTTLS)
Utilisateur : L’adresse Gmail du client.
Mot de passe : Le mot de passe d’application de 16 caractères qu’il a généré.
Avantage : Cela contourne entièrement la redirection OAuth et fonctionne parfaitement sur localhost.
Bonjour @Daniela_Akerman Bienvenue !
En supposant que tu aies créé ton propre client OAuth dans la Google Cloud Console, le compte Google de ton client doit être autorisé par cette application avant que le lien de consentement ne fasse quoi que ce soit pour lui. Une application externe démarre en mode Test, où seules les adresses de la liste des utilisateurs de test peuvent terminer le flux et tous les autres comptes reçoivent un écran d’accès refusé.
Ouvre Google Auth Platform > Audience dans la Cloud Console et définis l’état de publication sur En production, puis envoie-lui le lien à nouveau. Ajouter son adresse sous Utilisateurs de test lève également le blocage, mais le mode Test expire le jeton après 7 jours, donc les identifiants cesseraient de fonctionner une semaine après le transfert.