1

我可能在文档中完全错过了这一点,但我正在寻找在 Dialogflow 之间传递身份验证的示例。

我找到的 Dialogflow 示例对所有用户开放,但我希望 Dialogflow 交互登录到特定的经过身份验证的用户。我设置了 Google Cloud Identity 和 Firestore 身份验证,但我找不到很好的示例来说明如何通过 Dialogflow 在其对 Firestore 数据库的请求中安全地移动该身份验证信息。我在后端 webhook 上使用 NodeJS。

4

1 回答 1

0

没有直接的选项来验证 Dialogflow 实现的用户。处理如何传递凭据和 webhook 连接的建议如下:

  1. 最终用户向您的服务器进行身份验证
  2. 服务器在 Dialogflow 中为此对话创建一个新会话(或验证当前会话)
  3. 您的服务器使用detectIntent 请求payload中的QueryParameters对象中的字段来传递必要的信息以在执行期间验证用户
  4. 为您的 webhook配置mTLS以创建安全连接
  5. 使用payloadwebhook 请求中的数据对用户进行身份验证

编辑

使用 Dialogflow-Messenger 时,您无法直接访问 Dialogflow API;但是,对于第 3 步,您仍然可以queryParams.payload通过user-id HTML 自定义传递一个值。

HTML 自定义中的 user-id 值

这是一个如何动态设置它的示例:

const dfMessenger = document.querySelector('df-messenger');
dfMessenger.setAttribute("user-id", YOUR_USER); // Sent to Dialogflow API through queryParams.payload
于 2020-11-02T21:01:59.200 回答