用户认证服务模板
高级
这是一个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)可能需要您自行付费。
相关工作流推荐
实时Notion Todoist双向同步模板
使用Redis的Notion Todoist实时双向同步
If
Set
Code
+26
246 节点Mario
销售
Voiceflow演示支持聊天机器人
Voiceflow演示支持聊天机器人
If
Set
Webhook
+6
33 节点Angel Menendez
工程
使用 HMAC SHA256 认证验证 Seatable Webhooks
使用HMAC SHA256认证验证Seatable Webhooks
If
Crypto
Webhook
+3
7 节点Vitali
工程
CSV到JSON转换器(错误处理与Slack通知)
具有错误处理和Slack通知功能的CSV到JSON转换器
If
Set
Code
+8
18 节点n8n Team
工程
puq-docker-immich部署
部署 Docker Immich,WHMCS/WISECP 的 API 后端
If
Set
Ssh
+5
35 节点PUQcloud
工程
puq-docker-influxdb-deploy
部署 Docker InfluxDB,WHMCS/WISECP 的 API 后端
If
Set
Ssh
+5
33 节点PUQcloud
工程
工作流信息
难度等级
高级
节点数量24
分类1
节点类型7
作者
NanaB
@nanabrownAutomation 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 查看 →
分享此工作流