n8n-nodes-dynamic-credentials
v0.1.0
Published
Nœuds n8n pour la gestion des credentials dynamiques via webhook
Maintainers
Readme
Nœuds n8n pour Credentials Dynamiques
Ce module permet de recevoir des credentials via webhook et de les utiliser dynamiquement dans les workflows n8n sans avoir à les stocker dans la base de données.
Fonctionnalités
- Réception de credentials via webhook
- Formatage et validation des credentials selon leur type
- Injection transparente des credentials dans les nœuds n8n existants
- Support des credentials Microsoft (Graph, Outlook, Entra)
- Extensible pour d'autres types de credentials
Installation
# Dans le répertoire du projet
npm install
npm run build
# Créer un lien symbolique vers ce module dans n8n
cd /home/guillaume/Rikka/volumes/n8n.volume
npm link /home/guillaume/Rikka/custom-nodes-dynamic-credentialsComment utiliser
Étape 1: Configurer le webhook pour recevoir les credentials
- Ajoutez le nœud
Dynamic Credential Webhookau début de votre workflow - Configurez le type de credential que vous attendez (ex: microsoftGraph)
- Vous pouvez ajouter un secret de validation pour sécuriser le webhook
Étape 2: Traiter les credentials reçus
- Connectez le nœud
Dynamic Credential Providerau webhook - Configurez-le pour formater ou valider les credentials selon vos besoins
Étape 3: Utiliser le proxy pour préparer les credentials
- Connectez le nœud
Microsoft Credential Proxyau fournisseur - Configurez-le avec le type de credential Microsoft spécifique que vous souhaitez utiliser
Étape 4: Utiliser les credentials dans vos nœuds Microsoft
- Connectez vos nœuds Microsoft standards (ex: Microsoft Graph, Outlook) au proxy
- Les credentials seront automatiquement injectés dans ces nœuds
Format des données à envoyer au webhook
Pour que le système fonctionne correctement, les données envoyées au webhook doivent suivre ce format :
{
"credentials": {
"access_token": "votre_token_d_acces",
"refresh_token": "votre_token_de_rafraichissement",
"expires_in": 3600,
"scope": "https://graph.microsoft.com/.default",
"token_type": "Bearer"
}
}Exemples par type de credential
Microsoft Graph
{
"credentials": {
"access_token": "eyJ0eXAiOiJKV1QiLCJub25jZSI6IlVhU...",
"refresh_token": "0.AR8A8lVO4wF-XEiYGz9lk-hFIzD1ZS...",
"expires_in": 3599,
"scope": "https://graph.microsoft.com/.default",
"token_type": "Bearer"
}
}Microsoft Outlook OAuth2
{
"credentials": {
"access_token": "eyJ0eXAiOiJKV1QiLCJub25jZSI6IlVhU...",
"refresh_token": "0.AR8A8lVO4wF-XEiYGz9lk-hFIzD1ZS...",
"expires_in": 3599,
"scope": "https://outlook.office.com/.default",
"token_type": "Bearer"
}
}Personnalisé
Vous pouvez également envoyer d'autres types de credentials avec la structure qui correspond à vos besoins :
{
"credentials": {
"apiKey": "votre_cle_api",
"apiSecret": "votre_secret_api",
"baseUrl": "https://api.example.com",
"customField": "valeur_personnalisee"
}
}En-têtes de sécurité
Si vous avez configuré un secret pour le webhook, n'oubliez pas d'inclure l'en-tête suivant dans votre requête :
X-Webhook-Secret: votre_secret_configuré{
"credentials": {
"access_token": "votre_token_oauth2",
"refresh_token": "votre_refresh_token",
"expires_in": 3600,
"token_type": "Bearer",
"scope": "openid profile email"
}
}Exemple d'utilisation avec Microsoft Graph
- Configurez le nœud
Dynamic Credential Webhookavec le typemicrosoftGraph - Envoyez un token OAuth2 valide à l'URL du webhook
- Utilisez le nœud
Microsoft Credential Proxypour préparer les credentials - Connectez un nœud Microsoft Graph standard qui utilisera automatiquement ces credentials
Sécurité
- Utilisez toujours un secret de validation pour votre webhook
- Les credentials ne sont jamais stockés en base de données
- Ils sont uniquement conservés en mémoire pendant l'exécution du workflow
- Utilisez HTTPS pour sécuriser la transmission des credentials
Avantages
- Flexibilité : Permet de recevoir des credentials depuis n'importe quelle source externe
- Sécurité : Les credentials sensibles ne sont jamais stockés en base de données
- Compatibilité : Fonctionne avec les nœuds n8n existants sans modification
- Évolutivité : Peut être étendu pour prendre en charge d'autres types de credentials
Limitations actuelles
- Les credentials sont valides uniquement pendant l'exécution du workflow
- Le rafraîchissement automatique des tokens n'est pas encore implémenté
- L'intégration avec certains nœuds complexes peut nécessiter des ajustements
Contribuer
N'hésitez pas à contribuer à ce projet en proposant des améliorations ou en signalant des problèmes.
