python - Dialogflow 和 Skype 集成 - 通过连接到 MySQL 数据库进行用户身份验证
问题描述
我对使用 Google Dialogflow 的 ChatBot 很陌生,我需要将内置的聊天机器人与 Skype 集成。网上有很多文档可以参考。
在用户在 Skype 上使用此聊天机器人之前,我想通过 ChatBot 进行用户身份验证,方法是问几个问题,例如“你叫什么名字”和“你来自哪个部门”,即我希望聊天机器人最初连接到我的公司服务器数据库并检查用户详细信息以进行身份验证。
你能给我一些好的参考链接(也许用 python 实现或 Node.Js 会很好)或任何例子,好吗?
解决方案
通常,您会在此处执行以下操作:
- 在 Dialogflow 中创建一个对话,该对话将询问您提到的必要身份验证问题并将其存储在上下文/参数中。
- 使用收集的参数调用您的 webhook。有关 webhook 的详细信息,请参见此处。
- Webhook 将对用户进行身份验证(或不进行身份验证)。例如,您可以使用此包并验证来自 Dialogflow 的特定 sessionId。
- 您的网络书可以使用此处的格式向用户发送事件。例如:
{
followupEventInput: {
'name': "user-authenticated",
'parameters': "",
'languageCode': "en"
}
}
这将以编程方式触发具有正确用户响应(无论是否经过身份验证)的意图。在此处阅读有关活动的更多信息。
- 对于任何后续的 Dialogflow 请求,您的后端/webhook 将知道 sessionId 是否被授权访问某个资源,因此您可以采取相应的行动。如果您想从数据库中检索更敏感的内容,也可以使用事件机制。
我还可以想象一个场景,您只使用一个 Dialogflow 代理进行身份验证,然后在成功进行身份验证后,将用户链接到另一个。
希望能帮助到你!
推荐阅读
- css - RGBA - Alpha 通道作为一个单独的类
- ruamel.yaml - 如何在 ruamel.yaml 中显式编写两个引用
- c++ - 当A在for循环中调用函数B时,如何计算函数A的空间复杂度?
- java - 从 SD 卡创建文件/数据库
- cordova - ionic 3 资源启动画面被裁剪
- java - 绕过 PUT 请求的唯一性验证器
- angular - 错误 AOT 构建自定义组件装饰器 - Angular 5
- python - SQLite 查询返回 false
- python - 从每两个字节获取 int 值
- hive - 由于线程“main”java.lang.NoClassDefFoundError:org/apache/hadoop/hiv e/conf/HiveConf 中的异常,启动直线时出错