Décrivez le problème/l’erreur/la question
Après être passés de Microsoft à Nextcloud, nous avons essayé de configurer un flux de travail utilisant n8n pour synchroniser les calendriers Outlook/Teams avec notre Nextcloud Calendar (l’application en vedette) et nous rencontrons le problème suivant :
Pour à la fois lire les événements et écrire les événements dans nos calendriers Nextcloud, la seule option que nous connaissons est d’utiliser des requêtes HTTP avec l’authentification Basic, ce qui semble peu pratique, puisqu’il faudrait collecter les identifiants de connexion de chaque utilisateur.
Quelqu’un connaît-il un moyen de contourner ce problème ? Par exemple un utilisateur administrateur qui aurait des permissions de lecture/écriture sur les calendriers d’autres utilisateurs ?
Cordialement,
Frederic
Quel est le message d’erreur (le cas échéant) ?
Veuillez partager votre flux de travail
(Sélectionnez les nœuds sur votre canevas et utilisez les raccourcis clavier CMD+C/CTRL+C et CMD+V/CTRL+V pour copier et coller le flux de travail.)
Partagez la sortie renvoyée par le dernier nœud
Informations sur votre configuration n8n
- Version n8n :
- Base de données (par défaut : SQLite) :
- Paramètre n8n EXECUTIONS_PROCESS (par défaut : own, main) :
- Exécution de n8n via (Docker, npm, n8n cloud, application de bureau) :
- Système d’exploitation :
Salut @FredericDomke Bienvenue !
Deux points distincts ici. D’abord, l’authentification basique pour CalDAV ne signifie pas collecter le mot de passe de connexion réel de quiconque : les mots de passe d’application Nextcloud sont des tokens par utilisateur, par appareil créés sous Paramètres personnels > Sécurité > Appareils et sessions, et ils s’authentifient via l’authentification basique exactement comme un client CalDAV normal. Ils sont révocables individuellement et n’exposent jamais le mot de passe du compte, c’est donc la forme sûre de ce que vous faites déjà. Le point de terminaison du calendrier est le chemin DAV, pas le nœud Nextcloud (qui couvre uniquement les fichiers et les utilisateurs) : https://your-nextcloud/remote.php/dav/calendars///
Deuxièmement, il n’existe pas d’identifiant administrateur intégré qui lit et écrit de manière transparente le calendrier personnel de chaque utilisateur. La façon recommandée de l’exécuter à partir d’un seul identifiant est le partage de calendrier vers un compte de service :
- Créez un utilisateur Nextcloud dédié, par ex. n8n-sync.
- Faites en sorte que chaque utilisateur partage son calendrier avec n8n-sync et cochez « peut modifier » (ou déplacez les calendriers que vous synchronisez dans les calendriers partagés/de groupe que le compte de service possède).
- Générez un mot de passe d’application pour n8n-sync.
- Dans n8n, utilisez un seul identifiant HTTP Request (authentification basique, utilisateur n8n-sync + ce mot de passe d’application) et accédez à /remote.php/dav/calendars/n8n-sync// pour les lectures (REPORT/PROPFIND) et écritures (PUT).
Cela vous donne un identifiant couvrant chaque calendrier partagé, sans mots de passe par utilisateur à collecter.