Dify工作流集成登录功能,分享应用不再“裸奔”
引言:当Dify的“一键分享”遇上“社死现场”
Dify,这个让AI开发像搭积木一样简单的神器,最近却让不少老铁遭遇“社死现场”——精心调教的AI相亲助手,被隔壁老王一键拿走当僚机;花三天三夜打磨的“老板彩虹屁生成器”,转眼成了全公司的段子素材库…… (没这回事儿,我瞎编的😅)
问题根源:Dify已经支持ChatFlow类型的工作流(对话类型的工作流),这种类型的工作流支持记忆,会自动维护上下文,适合复杂多轮对话。并且Dify可以支持通过url地址将工作流一键分享成一个ChatBot的形式。
可以用这种方式以极低的成本搭建一个AI聊天应用,可以自己或分享给亲朋好友使用,也可以通过iframe等方式集成到自己的网站。那么问题就来了,Dify分享出去的工作流本身是不支持鉴权的,默认是“裸奔”状态,谁拿到链接都能用!万一被“路人乙”拿去刷屏,或者被“键盘侠”拿去搞乱,你说气不气?今天分享一种在Dify工作流中集成登录功能的方式,实现方式很简单,并且在其他工作流平台也能以类似方式实现。
第一章:Dify鉴权の灵魂三问
1. 为什么需要登录功能?
-
场景1:你给女神定制的“每日情话生成器”,结果她闺蜜用链接生成了《渣男语录大全》
-
场景2:公司花重金训练的“销冠话术机器人”,被竞争对手0成本白嫖
2. 技术难点在哪?
Dify原生无鉴权 → 需要自己造轮子 → 但我们是无代码战士!(举起拖拽节点大旗)
3. 核心思路是什么?
把登录流程变成“闯关游戏”:
输入账号密码 → 验证 → 发VIP卡 → 后续免验证
第二章:七步成“锁”实操手册
Step 1:打造专属登录面板(5分钟)
-
操作:在开始节点添加两个文本输入框 → 命名为
至尊VIP账号
、绝密通行令
-
彩蛋:把输入框提示语改成“请输入你妈妈的生日”增加迷惑性
咱们先从工作流的开始节点下手,给它加点“安全感”。我这里加了两个参数:username(用户名)和password(密码)。你可以设为必填(不填就别想进!),也可以设为选填(但不填后面照样卡你)。嫌麻烦?直接用API_KEY代替也行,灵活得像广场舞大妈!👇
Step 2:安装“安检闸机”(条件判断节点)
如果 当前会话有VIP卡 → 直接放行 否则 → 弹出登录界面
-
拟人化解释:就像奶茶店的“暗号接头”:“天王盖地虎” → “珍珠多加五”
咱得弄个会话变量,名字就叫login,专门记录用户有没有“通行资格”。规则简单粗暴:login = 1就是“已登录VIP”,login = 0就是“门外汉,哪儿凉快哪儿呆着去”。这玩意儿就像工作流的“身份证”,没它寸步难行!✨
Step 3:“门票”检查
为了防住那些“偷懒精”,咱们再加个检查节点,看看username和password是不是空的。如果是空的,直接甩一句:“请输入用户名、密码进行登录!”(当然,这步可以省略)
Step 4:硬核验证(写死密码版)
-
配置:在条件节点设置
若账号=admin且密码=123456
→ 触发“开闸” -
警告:正式环境请勿模仿!此操作相当于用报纸糊防盗门
重头戏来了——校验用户名和密码!我为了省事,直接写死了个组合:username = admin,password = 123456。输入对了?恭喜通关!输错了?冷冷丢一句“账号或密码错误”,让你再想想人生。😅 不过现实中,这么“街头密码”可不行!建议用HTTP调用节点,接个后端登录服务,发送请求校验身份,企业级安全感拉满。毕竟,谁拿“admin-123456”去硬刚啊,笑掉大牙!😂
Step 5:颁发VIP电子狗牌(会话变量)
-
操作:通过“数据处理节点”设置会话变量
isVIP=1
-
原理:相当于给用户发了个电子手环,泡在会话池里不掉色
校验通过后,用数据处理节点把login设为1,相当于给用户发张“VIP通行证”。同一个会话里,从此畅通无阻,再也不用敲门求进了。这感觉就像拿到了演唱会后台通行证,爽到飞起!🎉
Step 6:“宝藏”解锁:业务节点随便嗨!
登录成功,工作流就带你直奔业务节点!想生成小红书爆款笔记?没问题!想让AI写个短篇小说?随便来!整个过程就像闯关游戏,终于杀到Boss掉宝箱,爽感爆棚!💎
结语:让Dify从“共享单车”变“私家超跑”
一句话总结: 开始节点填写username&password→会话变量login判断登录态→校验username&password→更改login为已登录!
技术总结:低代码的终极奥义,就是用最懒的办法,解决最痛的需求!