将凭据传入和传出 Dialogflow 的最佳方式是什么
What is the best way to pass credentials to and from Dialogflow
我可能在文档中完全遗漏了这一点,但我正在寻找在 Dialogflow 之间传递身份验证的示例。
我找到的 Dialogflow 示例对所有用户开放,但我希望 Dialogflow 交互登录到特定的经过身份验证的用户。我设置了 Google Cloud Identity 和 Firestore Auth,但我找不到很好的示例来说明如何在对 Firestore 数据库的请求中通过 Dialogflow 安全地移动该身份验证信息。我在后端 webhooks 上使用 NodeJS。
没有 straight-forward 选项来验证 Dialogflow 实现的用户。处理如何传递凭据和 webhook 连接的建议如下:
- end-user 向您的服务器进行身份验证
- 服务器在 Dialogflow 中为此会话创建一个新会话(或验证当前会话)
- 您的服务器使用 detectIntent 请求中 QueryParameters 对象中的
payload
字段来传递必要的信息以在执行期间验证用户
- 为您的 webhook 配置 mTLS 以创建安全连接
- 使用 webhook 请求中的
payload
数据对用户进行身份验证
编辑
使用 Dialogflow-Messenger 时,您无法直接访问 Dialogflow API;但是,对于第 3 步,您仍然可以通过 user-id
HTML customization.
将值传递给 queryParams.payload
下面是如何动态设置的示例:
const dfMessenger = document.querySelector('df-messenger');
dfMessenger.setAttribute("user-id", YOUR_USER); // Sent to Dialogflow API through queryParams.payload
我可能在文档中完全遗漏了这一点,但我正在寻找在 Dialogflow 之间传递身份验证的示例。
我找到的 Dialogflow 示例对所有用户开放,但我希望 Dialogflow 交互登录到特定的经过身份验证的用户。我设置了 Google Cloud Identity 和 Firestore Auth,但我找不到很好的示例来说明如何在对 Firestore 数据库的请求中通过 Dialogflow 安全地移动该身份验证信息。我在后端 webhooks 上使用 NodeJS。
没有 straight-forward 选项来验证 Dialogflow 实现的用户。处理如何传递凭据和 webhook 连接的建议如下:
- end-user 向您的服务器进行身份验证
- 服务器在 Dialogflow 中为此会话创建一个新会话(或验证当前会话)
- 您的服务器使用 detectIntent 请求中 QueryParameters 对象中的
payload
字段来传递必要的信息以在执行期间验证用户 - 为您的 webhook 配置 mTLS 以创建安全连接
- 使用 webhook 请求中的
payload
数据对用户进行身份验证
编辑
使用 Dialogflow-Messenger 时,您无法直接访问 Dialogflow API;但是,对于第 3 步,您仍然可以通过 user-id
HTML customization.
queryParams.payload
下面是如何动态设置的示例:
const dfMessenger = document.querySelector('df-messenger');
dfMessenger.setAttribute("user-id", YOUR_USER); // Sent to Dialogflow API through queryParams.payload