Workflow n8n

Automatisation Auth0 avec n8n : gestion des connexions utilisateurs

Ce workflow n8n a pour objectif de simplifier la gestion des connexions utilisateurs via Auth0, un service d'authentification populaire. En intégrant ce workflow, les entreprises peuvent automatiser le processus de connexion, réduire les erreurs humaines et améliorer l'expérience utilisateur. Ce type d'automatisation est particulièrement utile pour les équipes techniques qui souhaitent offrir une solution d'authentification fluide et sécurisée à leurs utilisateurs. Le workflow commence par un déclencheur Webhook qui écoute les requêtes de connexion. Ensuite, il utilise un nœud HTTP pour demander un jeton d'accès à Auth0. Si le jeton est valide, le workflow récupère les informations de l'utilisateur via un autre nœud HTTP. En cas d'erreur ou si le code n'est pas trouvé, le workflow s'arrête avec un message d'erreur approprié. Les nœuds de type 'Sticky Note' sont utilisés pour garder une trace des étapes et des informations importantes tout au long du processus. Grâce à cette automatisation n8n, les entreprises peuvent non seulement gagner du temps, mais aussi garantir une meilleure sécurité et une gestion efficace des utilisateurs.

Tags clés :automatisationauthentificationn8nworkflowgestion des utilisateurs
Catégorie: Webhook · Tags: automatisation, authentification, n8n, workflow, gestion des utilisateurs0

Workflow n8n authentification, gestion des utilisateurs : vue d'ensemble

Schéma des nœuds et connexions de ce workflow n8n, généré à partir du JSON n8n.

Workflow n8n authentification, gestion des utilisateurs : détail des nœuds

  • Request Access Token

    Ce noeud effectue une requête HTTP pour obtenir un jeton d'accès.

  • Get Userinfo

    Ce noeud effectue une requête HTTP pour récupérer les informations de l'utilisateur.

  • If

    Ce noeud évalue une condition pour déterminer le chemin à suivre dans le workflow.

  • No Code Found

    Ce noeud arrête le workflow et génère une erreur si aucune donnée n'est trouvée.

  • Open Auth Webpage

    Ce noeud répond à un webhook en redirigeant l'utilisateur vers une page d'authentification.

  • Sticky Note

    Ce noeud crée une note autocollante avec un contenu et des dimensions spécifiées.

  • Set Application Details

    Ce noeud définit les détails de l'application en assignant des valeurs aux champs spécifiés.

  • Sticky Note1

    Ce noeud crée une note autocollante avec un contenu et des dimensions spécifiées.

  • Sticky Note2

    Ce noeud crée une note autocollante avec un contenu et des dimensions spécifiées.

  • Sticky Note3

    Ce noeud crée une note autocollante avec un contenu et des dimensions spécifiées.

  • Sticky Note4

    Ce noeud crée une note autocollante avec un contenu et des dimensions spécifiées.

  • Sticky Note5

    Ce noeud crée une note autocollante avec un contenu et des dimensions spécifiées.

  • Set Application Details1

    Ce noeud définit les détails de l'application en assignant des valeurs aux champs spécifiés.

  • /login

    Ce noeud configure un webhook pour gérer les requêtes à l'URL '/login'.

  • /receive-token

    Ce noeud configure un webhook pour gérer les requêtes à l'URL '/receive-token'.

  • Sticky Note7

    Ce noeud crée une note autocollante avec un contenu et des dimensions spécifiées.

Inscris-toi pour voir l'intégralité du workflow

Inscription gratuite

S'inscrire gratuitementBesoin d'aide ?
{
  "id": "AS2Rj41p6OyA0xZK",
  "meta": {
    "instanceId": "7858a8e25b8fc4dae485c1ef345e6fe74effb1f5060433ef500b4c186c965c18",
    "templateCredsSetupCompleted": true
  },
  "name": "Auth0 User Login",
  "tags": [],
  "nodes": [
    {
      "id": "25022573-c99e-40d2-88e2-a0e7a9780181",
      "name": "Request Access Token",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1260,
        320
      ],
      "parameters": {
        "url": "={{ $json.domain }}/oauth/token",
        "method": "POST",
        "options": {},
        "jsonBody": "={\n  \"grant_type\": \"authorization_code\",\n  \"code\": \"{{ $json.query.code }}\",\n  \"client_id\": \"{{ $json.client_id }}\",\n  \"client_secret\": \"{{ $json.client_secret }}\",\n  \"redirect_uri\": \"{{ $json.my_server }}\",\n  \"audience\": \"{{ $json.domain }}/api/v2/\"\n}",
        "sendBody": true,
        "sendHeaders": true,
        "specifyBody": "json",
        "headerParameters": {
          "parameters": [
            {
              "name": "content-type",
              "value": "application/x-www-form-urlencoded"
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "233d69ed-d835-4022-815e-e786706ec78a",
      "name": "Get Userinfo",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1500,
        320
      ],
      "parameters": {
        "url": "={{ $('Set Application Details1').item.json.domain }}/userinfo",
        "options": {},
        "sendHeaders": true,
        "headerParameters": {
          "parameters": [
            {
              "name": "Authorization",
              "value": "=Bearer {{ $json.access_token }}"
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "860e8a20-f6a3-4c8e-be71-361e6f1f8641",
      "name": "If",
      "type": "n8n-nodes-base.if",
      "position": [
        720,
        320
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "fa80ac35-7029-4507-b5ea-845bec07b672",
              "operator": {
                "type": "string",
                "operation": "exists",
                "singleValue": true
              },
              "leftValue": "={{$json.query.code}}",
              "rightValue": ""
            }
          ]
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "7c4e15c7-2ee0-4c54-8255-e7cc250e718a",
      "name": "No Code Found",
      "type": "n8n-nodes-base.stopAndError",
      "position": [
        880,
        540
      ],
      "parameters": {
        "errorMessage": "Couldn't get authorization code!"
      },
      "typeVersion": 1
    },
    {
      "id": "2e0b2ff5-47ce-4199-bdd2-e31a4d32fd15",
      "name": "Open Auth Webpage",
      "type": "n8n-nodes-base.respondToWebhook",
      "position": [
        1020,
        40
      ],
      "parameters": {
        "options": {},
        "redirectURL": "={{ $json.domain }}/authorize?response_type=code&scope=openid+email+profile+image+name&client_id={{ $json.client_id }}&redirect_uri={{ $json.my_server }}/webhook/receive-token",
        "respondWith": "redirect"
      },
      "typeVersion": 1.1
    },
    {
      "id": "d790ce47-725a-4a69-b66f-f7e80e2d9e5e",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1180,
        80
      ],
      "parameters": {
        "color": 6,
        "width": 238.05017098334866,
        "height": 140.50170983348636,
        "content": "### You can also add   &connection=github to end of authorize URL in order to get user to login via Github, Facebook, etc"
      },
      "typeVersion": 1
    },
    {
      "id": "1c5bb01a-0fed-4783-b18d-d8f7e818371c",
      "name": "Set Application Details",
      "type": "n8n-nodes-base.set",
      "position": [
        780,
        40
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "003d523a-5e14-4a5a-aed6-f72c3fce6e6d",
              "name": "domain",
              "type": "string",
              "value": ""
            },
            {
              "id": "7db513f3-55f6-4bab-92b0-e62d0b7f05a1",
              "name": "client_id",
              "type": "string",
              "value": ""
            },
            {
              "id": "52da7d5d-6683-4cf9-a7de-c2ab2ce48f3d",
              "name": "my_server",
              "type": "string",
              "value": ""
            }
          ]
        },
        "includeOtherFields": true
      },
      "typeVersion": 3.4
    },
    {
      "id": "8ced9fb6-fd49-4d57-8d74-b04e45b6c216",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        80,
        -456.1003419666973
      ],
      "parameters": {
        "color": 5,
        "width": 623.7263504769883,
        "height": 397.87914003146636,
        "content": "## 1. First, go to https://auth0.com and create a Single Page Application. From Dashboard/Applications, click on your new app settings. The first step is to add the following to allowed callback URLs:\nhttp://localhost:5678, http://localhost:5678/webhook/receive-token \n\n### (If you do not run n8n locally, replace localhost with your server where you run n8n. You must also replace it in **Set Application Details** 'my_server' field)\n\n## From the same settings page,  retrieve the Domain, Client_ID, and Client_Secret of your application."
      },
      "typeVersion": 1
    },
    {
      "id": "94155312-1230-4c13-9104-5e26a6f68e91",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1280,
        -40
      ],
      "parameters": {
        "color": 6,
        "width": 437.4336297478876,
        "height": 107.35461655041311,
        "content": "### This step will return the authentication page to the user and let him login using gmail or by creating a new account."
      },
      "typeVersion": 1
    },
    {
      "id": "9a7bcabf-1cc0-43e5-8f52-cc3f2781150f",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        420,
        -40
      ],
      "parameters": {
        "width": 1296.8510714753793,
        "height": 256.53228919365705,
        "content": "## Step 1: Authentication\n"
      },
      "typeVersion": 1
    },
    {
      "id": "7e7560d6-4c26-4e80-ad62-07a674e928f9",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        420,
        260
      ],
      "parameters": {
        "width": 1302.371850917427,
        "height": 444.78164181462137,
        "content": "## Step 2: Get Access Token\n"
      },
      "typeVersion": 1
    },
    {
      "id": "97c8bc77-bc7d-4be2-9858-668c5e325f49",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        420,
        560.9464093496792
      ],
      "parameters": {
        "color": 6,
        "width": 327.74230574931124,
        "height": 144.40136786678917,
        "content": "### If Step 1 was successful, Auth0 will automatically call Step 2 in its callback with a code. This code is used to generate an access token which can verify the user is legitimate and email verified."
      },
      "typeVersion": 1
    },
    {
      "id": "fe103ba1-8143-482c-846f-0f381ca2661a",
      "name": "Set Application Details1",
      "type": "n8n-nodes-base.set",
      "position": [
        1000,
        320
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "003d523a-5e14-4a5a-aed6-f72c3fce6e6d",
              "name": "domain",
              "type": "string",
              "value": ""
            },
            {
              "id": "7db513f3-55f6-4bab-92b0-e62d0b7f05a1",
              "name": "client_id",
              "type": "string",
              "value": ""
            },
            {
              "id": "52da7d5d-6683-4cf9-a7de-c2ab2ce48f3d",
              "name": "my_server",
              "type": "string",
              "value": ""
            },
            {
              "id": "d339dd3d-ed57-4b0f-81c6-a8f5f7c474fb",
              "name": "client_secret",
              "type": "string",
              "value": ""
            }
          ]
        },
        "includeOtherFields": true
      },
      "typeVersion": 3.4
    },
    {
      "id": "b3bb59b8-16fc-483d-ae8d-ec3e65c3326d",
      "name": "/login",
      "type": "n8n-nodes-base.webhook",
      "position": [
        540,
        40
      ],
      "webhookId": "046e2370-0ae1-4d64-be9b-cbb0545de323",
      "parameters": {
        "path": "login",
        "options": {},
        "responseMode": "responseNode"
      },
      "typeVersion": 2
    },
    {
      "id": "79825832-6d06-4a48-aa0a-bad3d52ab2c1",
      "name": "/receive-token",
      "type": "n8n-nodes-base.webhook",
      "position": [
        540,
        320
      ],
      "webhookId": "7bd9ea5a-c354-41c0-9d17-4a02ca8e3055",
      "parameters": {
        "path": "receive-token",
        "options": {},
        "responseMode": "lastNode"
      },
      "typeVersion": 2
    },
    {
      "id": "b9406ef0-3567-46da-9989-d7f458ad73fb",
      "name": "Sticky Note7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        760,
        -460
      ],
      "parameters": {
        "color": 5,
        "width": 426.62126002791706,
        "height": 393.48225931142105,
        "content": "## 2. Fill in Set Application Details and Set Application Details1\n\n## 3. **Login from https://<n8n server address>/webhook/login!**"
      },
      "typeVersion": 1
    }
  ],
  "active": true,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "7d2f0dad-3951-49e2-9467-03124dbc52ba",
  "connections": {
    "If": {
      "main": [
        [
          {
            "node": "Set Application Details1",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "No Code Found",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "/login": {
      "main": [
        [
          {
            "node": "Set Application Details",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "/receive-token": {
      "main": [
        [
          {
            "node": "If",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Request Access Token": {
      "main": [
        [
          {
            "node": "Get Userinfo",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Set Application Details": {
      "main": [
        [
          {
            "node": "Open Auth Webpage",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Set Application Details1": {
      "main": [
        [
          {
            "node": "Request Access Token",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}

Workflow n8n authentification, gestion des utilisateurs : pour qui est ce workflow ?

Ce workflow s'adresse principalement aux développeurs et aux équipes techniques des entreprises qui utilisent Auth0 pour la gestion des connexions utilisateurs. Il est idéal pour les PME et les startups qui cherchent à automatiser leurs processus d'authentification tout en garantissant la sécurité des données utilisateurs.

Workflow n8n authentification, gestion des utilisateurs : problème résolu

Ce workflow résout le problème de la gestion manuelle des connexions utilisateurs, qui peut être source d'erreurs et de frustrations. En automatisant ce processus, les entreprises réduisent le temps consacré à la gestion des connexions et minimisent les risques de sécurité liés à une authentification incorrecte. Les utilisateurs bénéficient d'une expérience de connexion fluide et sécurisée, ce qui peut améliorer la satisfaction client et la fidélité.

Workflow n8n authentification, gestion des utilisateurs : étapes du workflow

Étape 1 : Le workflow est déclenché par une requête Webhook sur le chemin '/login'.

  • Étape 1 : Il envoie une requête HTTP pour obtenir un jeton d'accès via le nœud 'Request Access Token'.
  • Étape 2 : Si le jeton est valide, le workflow récupère les informations de l'utilisateur avec le nœud 'Get Userinfo'.
  • Étape 3 : En cas d'erreur, le nœud 'If' détermine si le code est trouvé ; sinon, le workflow s'arrête avec un message d'erreur.
  • Étape 4 : Les nœuds 'Sticky Note' sont utilisés pour documenter les étapes importantes et les détails de l'application tout au long du processus.

Workflow n8n authentification, gestion des utilisateurs : guide de personnalisation

Pour personnaliser ce workflow, vous pouvez modifier les paramètres du nœud 'Request Access Token', notamment l'URL et les en-têtes nécessaires pour votre instance Auth0. Assurez-vous également d'adapter les chemins des Webhooks '/login' et '/receive-token' selon vos besoins. Vous pouvez ajouter d'autres nœuds pour intégrer des services supplémentaires ou des notifications en cas d'erreurs. Pensez à sécuriser votre workflow en utilisant des clés API et en surveillant les logs pour détecter d'éventuelles anomalies.