8
n8n 中文网amn8n.com

用户认证服务模板

高级

这是一个Engineering领域的自动化工作流,包含 24 个节点。主要使用 If, Set, Crypto, Webhook, Airtable 等节点。 使用Airtable和JWT构建生产就绪的用户认证系统

前置要求
  • HTTP Webhook 端点(n8n 会自动生成)
  • Airtable API Key

分类

工作流预览
可视化展示节点连接关系,支持缩放和平移
导出工作流
复制以下 JSON 配置到 n8n 导入,即可使用此工作流
{
  "id": "ax4NqX8wle2tpyxC",
  "meta": {
    "instanceId": "13d96e1ebd7901d1ed300d36db3a4447107e9ad60df51fe711e45683875362aa",
    "templateCredsSetupCompleted": true
  },
  "name": "用户认证服务模板",
  "tags": [],
  "nodes": [
    {
      "id": "aca01100-49cc-4b19-b8da-47809f60ab13",
      "name": "便签2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1660,
        420
      ],
      "parameters": {
        "content": "Emelia 触发器"
      },
      "typeVersion": 1
    },
    {
      "id": "62520060-c70a-4b77-a3af-bd638ff03bc6",
      "name": "便签3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1640,
        -880
      ],
      "parameters": {
        "content": "Emelia 触发器"
      },
      "typeVersion": 1
    },
    {
      "id": "8dcdd064-ebdd-4b82-a0cb-e95313251223",
      "name": "哈希密码",
      "type": "n8n-nodes-base.crypto",
      "position": [
        -480,
        -640
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "52acc934-d361-4c07-bfe7-31f0813b2f25",
      "name": "添加记录到数据库",
      "type": "n8n-nodes-base.airtable",
      "position": [
        -260,
        -640
      ],
      "parameters": {},
      "typeVersion": 2.1
    },
    {
      "id": "93296673-4c4f-4b34-b800-30c323c48b4b",
      "name": "响应注册成功",
      "type": "n8n-nodes-base.respondToWebhook",
      "position": [
        -40,
        -640
      ],
      "parameters": {},
      "typeVersion": 1.2
    },
    {
      "id": "988e0252-18ce-4e01-8e31-57c7bb2f3aa4",
      "name": "注册请求",
      "type": "n8n-nodes-base.webhook",
      "position": [
        -1100,
        -840
      ],
      "webhookId": "30ad296d-9b18-49e1-a443-9f2f20d468f9",
      "parameters": {},
      "typeVersion": 2
    },
    {
      "id": "be3afe14-59c1-4f61-a311-7c194c9f5501",
      "name": "登录请求",
      "type": "n8n-nodes-base.webhook",
      "position": [
        -1120,
        -180
      ],
      "webhookId": "190cad91-8dde-4baa-8c72-2d587b2f7f3f",
      "parameters": {},
      "typeVersion": 2
    },
    {
      "id": "da2d1f9c-97a6-4d24-b231-5e054269da51",
      "name": "检查邮箱是否在数据库中",
      "type": "n8n-nodes-base.airtable",
      "onError": "continueRegularOutput",
      "position": [
        -900,
        -840
      ],
      "parameters": {},
      "typeVersion": 2.1,
      "alwaysOutputData": true
    },
    {
      "id": "e73be62c-1b32-4a55-99b2-f28ef6e50761",
      "name": "如果邮箱在数据库中",
      "type": "n8n-nodes-base.if",
      "position": [
        -680,
        -840
      ],
      "parameters": {},
      "typeVersion": 2.2
    },
    {
      "id": "6f5af8f1-e00a-4b3c-aae2-b2d7b65e3a0e",
      "name": "响应邮箱已被使用",
      "type": "n8n-nodes-base.respondToWebhook",
      "position": [
        -40,
        -840
      ],
      "parameters": {},
      "typeVersion": 1.2
    },
    {
      "id": "eaf42d05-4166-4c47-a29d-a6efc7ed1765",
      "name": "检查用户是否存在",
      "type": "n8n-nodes-base.airtable",
      "onError": "continueRegularOutput",
      "position": [
        -920,
        -180
      ],
      "parameters": {},
      "typeVersion": 2.1,
      "alwaysOutputData": true
    },
    {
      "id": "6271eb5e-4a7b-47b4-bb70-da6401d24b41",
      "name": "如果用户存在",
      "type": "n8n-nodes-base.if",
      "position": [
        -740,
        -180
      ],
      "parameters": {},
      "typeVersion": 2.2
    },
    {
      "id": "f70eb264-2b83-45ae-87a3-c839d6357121",
      "name": "哈希提交的密码",
      "type": "n8n-nodes-base.crypto",
      "position": [
        -500,
        -180
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "f0aa90fa-45fc-4c92-b024-92b1a4489668",
      "name": "如果密码匹配",
      "type": "n8n-nodes-base.if",
      "position": [
        -280,
        -180
      ],
      "parameters": {},
      "typeVersion": 2.2
    },
    {
      "id": "8b987f11-87a5-43ae-95fe-ee1d15eca374",
      "name": "响应提交的邮箱错误",
      "type": "n8n-nodes-base.respondToWebhook",
      "position": [
        -500,
        20
      ],
      "parameters": {},
      "typeVersion": 1.2
    },
    {
      "id": "a9dcde02-a2cc-4494-9a76-93218510f0e8",
      "name": "响应登录成功",
      "type": "n8n-nodes-base.respondToWebhook",
      "position": [
        -60,
        -180
      ],
      "parameters": {},
      "typeVersion": 1.2
    },
    {
      "id": "ec77d145-3648-42f9-afe2-a506231b68e4",
      "name": "响应提交的密码错误",
      "type": "n8n-nodes-base.respondToWebhook",
      "position": [
        -60,
        0
      ],
      "parameters": {},
      "typeVersion": 1.2
    },
    {
      "id": "d8a3d0a3-5463-4d83-b7c8-00b26abdb13e",
      "name": "指定当前详情",
      "type": "n8n-nodes-base.set",
      "position": [
        -720,
        500
      ],
      "parameters": {},
      "typeVersion": 3.4
    },
    {
      "id": "868e44b9-e6b1-44f5-8093-b5a4d89859c2",
      "name": "指定新详情",
      "type": "n8n-nodes-base.set",
      "position": [
        -720,
        720
      ],
      "parameters": {},
      "typeVersion": 3.4
    },
    {
      "id": "57ec0d68-c052-41df-aed6-a1df8654cf0a",
      "name": "获取用户详情请求",
      "type": "n8n-nodes-base.webhook",
      "position": [
        -1120,
        500
      ],
      "webhookId": "190cad91-8dde-4baa-8c72-2d587b2f7f3f",
      "parameters": {},
      "typeVersion": 2
    },
    {
      "id": "05c6ab14-aeff-49b8-bff1-74bc052d6f11",
      "name": "更新用户详情请求",
      "type": "n8n-nodes-base.webhook",
      "position": [
        -1120,
        720
      ],
      "webhookId": "190cad91-8dde-4baa-8c72-2d587b2f7f3f",
      "parameters": {},
      "typeVersion": 2
    },
    {
      "id": "7065331a-f7f9-40d3-8ec8-d7d68ba117c5",
      "name": "获取当前详情",
      "type": "n8n-nodes-base.airtable",
      "position": [
        -920,
        500
      ],
      "parameters": {},
      "typeVersion": 2.1
    },
    {
      "id": "fb82b618-d2ee-480a-b66f-47d178a7383a",
      "name": "更新新详情",
      "type": "n8n-nodes-base.airtable",
      "position": [
        -920,
        720
      ],
      "parameters": {},
      "typeVersion": 2.1
    },
    {
      "id": "f5cff30e-48c2-43a5-a3be-98f58a710e9d",
      "name": "便签 6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1660,
        -200
      ],
      "parameters": {
        "content": "Emelia 触发器"
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "108c52fc-79eb-44f3-802a-a74cc63e2bb9",
  "connections": {
    "hash password": {
      "main": [
        [
          {
            "node": "add record to database",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "If user exists": {
      "main": [
        [
          {
            "node": "hash submitted password",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "respond with wrong email submitted",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "If passwords match": {
      "main": [
        [
          {
            "node": "respond with successful login",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "respond with wrong password submitted",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "request to sign in": {
      "main": [
        [
          {
            "node": "check if user exists",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "request to sign up": {
      "main": [
        [
          {
            "node": "Check if email in database",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "get current details": {
      "main": [
        [
          {
            "node": "Specify Current Details",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "If email in database": {
      "main": [
        [
          {
            "node": "respond with email already in use",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "hash password",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "check if user exists": {
      "main": [
        [
          {
            "node": "If user exists",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "add record to database": {
      "main": [
        [
          {
            "node": "respond with sign up successful",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "hash submitted password": {
      "main": [
        [
          {
            "node": "If passwords match",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "update with new details": {
      "main": [
        [
          {
            "node": "Specify New Details",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Check if email in database": {
      "main": [
        [
          {
            "node": "If email in database",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "request to get user details": {
      "main": [
        [
          {
            "node": "get current details",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "request to update user details": {
      "main": [
        [
          {
            "node": "update with new details",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
常见问题

如何使用这个工作流?

复制上方的 JSON 配置代码,在您的 n8n 实例中创建新工作流并选择「从 JSON 导入」,粘贴配置后根据需要修改凭证设置即可。

这个工作流适合什么场景?

高级 - 工程

需要付费吗?

本工作流完全免费,您可以直接导入使用。但请注意,工作流中使用的第三方服务(如 OpenAI API)可能需要您自行付费。

工作流信息
难度等级
高级
节点数量24
分类1
节点类型7
难度说明

适合高级用户,包含 16+ 个节点的复杂工作流

作者

Automation Developer with 3+ years building innovative solutions on UiPath, Power Platform, and n8n, also with a strong background in both API development and integration. Now specializing in the creation and implementation of AI Agents.

外部链接
在 n8n.io 查看

分享此工作流