我想使用'https://webchat.botframework.com/embed/QuizHS?s=YOUR_SECRET_HERE'将其与Web应用程序集成。 但是,我想通过将令牌传递给它来保证对话,因为Secret键在查询字符串中,因此没有人可以直接复制上面的链接并在任何其他应用程序中使用它,因为这些数据包含机密数据。
答案 0 :(得分:0)
Dan Driscoll在此广泛回答:https://github.com/Microsoft/BotFramework-WebChat/issues/428
为了讨论的目的,我们将处理秘密和 令牌是同一件事。我们可以稍后详细介绍 你要。我现在称它们为“秘密/令牌”。
要访问对话,您需要秘密/令牌和对话 ID。这些值有时会粘在一起,有时会粘在一起 单独的变量。有时他们会在URL中,有时候 它们存储在内存中的JavaScript中。这些与用户类似 令牌,存储在用户的cookie中。
在所有情况下,坐在他们身边的用户都可以访问这些值 自己的电脑。他们可以阅读自己的网址,他们可以自己阅读 JavaScript变量状态,他们可以读取自己的cookie。
如果他们将此类信息发送给其他人,则该人可以 冒充他们。如果我的银行给我发了一个密码重置链接,我就是 与其他人分享,该人可以重置我的帐户 密码并登录我的帐户。
我们的iFrame使用网址传递这些参数,因为这是足够的 在许多情况下的安全级别。 (你有没有访问过一个网站, 手动将URL提取到iFrame,将其发送给其他人,以及 期待你的会话保持私密?可能不是。)
如果您想要额外的安全性,可以跳过iFrame并发送 在JS或cookie中拥有自己的秘密/令牌。你的JS可以提取那个和 将其发送到Web Chat JS对象。一旦Web Chat具有秘密/令牌, 是专门使用HTTP授权标头将这些值发送到 直线服务。