Système d'authentification utilisateur sécurisé avec Webhooks et PostgreSQL - Workflow n8n

Créez un backend d'authentification utilisateur sécurisé avec ce workflow n8n puissant. Inclut inscription, connexion et réinitialisation de mot de passe via le hachage bcrypt avec pgcrypto de PostgreSQL.

Aperçu du workflow

Prêt à automatiser ?

Téléchargez ce modèle de workflow n8n et commencez à l'utiliser instantanément.

À qui s'adresse cette solution ?


  • Développeurs ayant besoin d'un backend sécurisé pour des prototypes ou des MVP.

  • Architectes système intégrant la gestion d'identité dans des applications personnalisées.

  • Utilisateurs recherchant des exemples avancés de PostgreSQL et de logique personnalisée au sein d'un workflow n8n.

  • Toute personne recherchant des modèles n8n robustes pour gérer des données utilisateur sensibles.

Vue d'ensemble

Implémenter un système d'authentification sécurisé nécessite traditionnellement un codage complexe côté serveur. Ce workflow n8n simplifie le processus en tirant parti de la puissance des fonctions cryptographiques intégrées de PostgreSQL (pgcrypto) et des capacités de routage flexibles de l'écosystème des nœuds n8n.

Ce workflow n8n robuste centralise la gestion des utilisateurs sur un seul point de terminaison. Lorsqu'une application externe (comme une interface utilisateur front-end ou une application mobile) appelle le webhook, le système gère en toute sécurité la création d'utilisateur (inscription avec hachage bcrypt), la vérification des identifiants (connexion) et la génération automatique de mot de passe (mot de passe oublié). Il constitue un excellent exemple d'utilisation d'un déclencheur n8n pour l'interaction API externe tout en maintenant des normes de sécurité élevées. Ce workflow n8n particulier réduit considérablement le temps de développement des services d'authentification backend.

Fonctionnement

L'automatisation commence par un déclencheur n8n dédié :


  1. Déclencheur Webhook : Le processus démarre lorsqu'un client envoie une requête POST au point de terminaison /auth. Le corps de la requête doit contenir path (spécifiant 'signup', 'signin', ou 'forgot'), email, et optionnellement, password ou name.

  2. Nœud Router : Un nœud n8n crucial, le Router, analyse la valeur path de la requête entrante. Il dirige le flux d'exécution vers la branche de logique PostgreSQL appropriée.

  3. Branche Inscription (Signup) : Si path est 'signup', le flux atteint le nœud PostgreSQL n8n Signup. Ce nœud exécute une requête SQL utilisant crypt() et gen_salt('bf') pour hacher en toute sécurité le mot de passe de l'utilisateur avant l'insertion.

  4. Branche Connexion (Login) : Si path est 'signin', le nœud PostgreSQL n8n Login interroge l'utilisateur par e-mail (insensible à la casse) et utilise la fonction crypt() de PostgreSQL pour comparer le mot de passe fourni avec le hachage stocké. Le résultat, incluant un booléen isPasswordMatch, est transmis au nœud n8n Check Login.

  5. Validation : Le nœud IF n8n Check Login vérifie si un identifiant utilisateur a été trouvé ET si le mot de passe correspond. Il achemine le résultat vers une réponse de succès ou d'échec.

  6. Branche Mot de passe oublié (Forgot Password) : Si path est 'forgot', le nœud n8n Reset Password génère un nouveau mot de passe aléatoire de 8 caractères, met à jour l'enregistrement de l'utilisateur, et retourne le nouveau mot de passe en clair pour affichage immédiat à l'utilisateur ou pour envoi par e-mail.

  7. Réponse : Toutes les actions réussies, les erreurs de validation ou les erreurs de base de données se terminent par l'envoi d'une réponse JSON standardisée (status, message, data) via le nœud Respond de n8n.

Guide d'installation

Pour déployer ce puissant workflow n8n, suivez ces étapes :


  1. Importer : Copiez le JSON du workflow n8n fourni et importez-le dans votre instance n8n.

  2. Configuration de la base de données : Ce workflow n8n nécessite une base de données PostgreSQL ou Supabase avec une table users. Assurez-vous que les extensions uuid-ossp et pgcrypto sont activées dans votre base de données.

* Créez la structure de table requise :
CREATE TABLE users (
id uuid PRIMARY KEY DEFAULT uuidgeneratev4(),
fullname text NOT NULL,
email text UNIQUE NOT NULL,
password
hash text NOT NULL,
created_at timestamptz DEFAULT now()
);

  1. Identifiants (Credentials) : Configurez les identifiants PostgreSQL dans n8n. Dans les configurations des nœuds n8n Signup, Login, et Reset Password, assignez votre jeu d'identifiants PostgreSQL (par exemple, 'Project: Edubot').

  2. Activation : Activez le workflow n8n. Le point de terminaison du déclencheur Webhook n8n sera maintenant actif et prêt à recevoir des requêtes d'authentification.

Détails du nœud

Webhook (Déclencheur n8n) :
Fonction : Sert de point de terminaison API unique (/auth) pour toutes les actions d'authentification.
Configuration Clé : Méthode définie sur POST ; Mode de réponse défini sur 'Response Node'.
Router (Nœud Switch n8n) :
Fonction : Route l'exécution en fonction de la variable path ($json["path"]), dirigeant le trafic vers 'signup', 'signin', ou 'forgot'.
Configuration Clé : Utilise trois sorties correspondant aux trois chemins requis.
Signup (Nœud PostgreSQL n8n) :
Fonction : Insère un nouvel enregistrement utilisateur. Utilise crypt('{{$json["password"]}}', gen_salt('bf')) pour un hachage sécurisé du mot de passe.
Login (Nœud PostgreSQL n8n) :
Fonction : Récupère les données utilisateur et compare le mot de passe fourni avec le hachage stocké à l'aide d'une requête SQL sécurisée qui retourne isPasswordMatch.
Check Login (Nœud IF n8n) :
Fonction : Logique de contrôle de flux principale. Valide les résultats de la requête Login (vérifie si l'utilisateur existe et si le mot de passe correspond).
Configuration Clé : La condition vérifie l'existence de id ET si isPasswordMatch est égal à true.
Reset Password (Nœud PostgreSQL n8n) :
Fonction : Génère une chaîne aléatoire de 8 caractères et met à jour le hachage du mot de passe de l'utilisateur dans la base de données.
Respond (Nœud n8n) :
* Fonction : Finalise la requête en renvoyant le statut, le message et les données au client qui a initié le déclencheur n8n.

Workflows n8n associés

Gratuit

Nœuds: 6 Nœuds
Mis à jour: Décembre 26 2025
Voir tout
Créé par

En vedette*