
这个n8n模板演示了一种通过聊天代理实现客户身份验证的方法。与必须在与代理交互之前对用户进行身份验证的方法不同,这种方法允许访客用户在会话期间的任何时间进行身份验证,或者根本不进行身份验证。
## 工作原理
* 本演示使用会话代理。关键组件是聊天触发器之后的Redis节点,它充当会话上下文。
* 对于访客,会话项为空。对于客户,会话项填充了他们的客户资料。
* 代理被指示在适当时或应请求仅为访客生成唯一的登录URL。
* 此登录URL将访客用户重定向到此模板中托管的简单n8n表单。登录URL将当前sessionID作为查询参数,作为将此数据传递给表单的方式。
* 登录成功后,通过sessionId匹配的会话项将填充客户资料。用户现在可以返回聊天窗口。
* 回到代理,当用户发送下一条消息时,Redis节点将拾取会话项及其关联的客户资料。系统提示将使用此数据进行更新,让代理知道用户现在是客户。
## 如何使用
* 您需要更新”auth URL”工具以匹配您的n8n实例的URL。更好的是,从触发器复制表单的生产URL。
* 激活工作流以打开生产模式,这是此工作流所必需的。
* 在第3步中实现身份验证逻辑。这可能是将用户和密码发送到postgreSQL数据进行验证。
## 要求
* OpenAI用于LLM(可以自由切换到任何提供商)
* Redis用于缓存/会话(同样,可以自由切换到postgresql或其他数据库)
## 自定义此工作流
* 考虑不要用用户数据填充会话项,因为它可能变得过时。相反,只需添加userId并指示代理使用工具进行查询。
* 通过尝试注册URL或一次性URL来扩展登录URL的想法。

评论(0)