如何保护我的Microsoft机器人框架 iframe WebChat 网址



我想使用'https://webchat.botframework.com/embed/QuizHS?s=YOUR_SECRET_HERE'将其与Web应用程序集成。 但是,我想通过将令牌传递给它来保护对话,因为密钥在查询字符串中,这样没有人可以直接复制上面的链接并在任何其他应用程序中使用它,因为这些数据包含机密数据。

Dan Driscoll在这里广泛回答了这个问题: https://github.com/Microsoft/BotFramework-WebChat/issues/428

出于此讨论的目的,我们将处理秘密和 令牌是一回事。我们可以稍后详细介绍这些,如果 你想要。我现在将它们称为"秘密/令牌"。

要访问对话,您需要机密/令牌和对话 同上。这些值有时粘合在一起,有时在 单独的变量。有时它们在 URL 中,有时 它们存储在内存中的 JavaScript 中。这些类似于用户 令牌,存储在用户的 Cookie 中。

在所有情况下,坐在其 自己的电脑。他们可以读取自己的URL,也可以读取自己的URL JavaScript 变量状态,他们可以读取自己的 cookie。

如果他们将任何此类信息发送给其他人,则该人可以 冒充他们。如果我的银行通过电子邮件向我发送密码重置链接,并且我 与他人分享,此人可以重置我的帐户 密码并登录到我的帐户。

我们的 iFrame 使用 URL 来传递这些参数,因为这是一个足够的 在许多情况下的安全级别。(您是否曾经访问过网站, 手动将 URL 提取到 iFrame,将其发送给其他人,然后 希望您的会话保持私密?应该不会。

如果您想要额外的安全性,您可以跳过 iFrame 并发送您的 在JS或cookie中拥有自己的秘密/令牌。您的JS可以提取它,并且 将其发送到网上聊天 JS 对象。一旦网络聊天拥有机密/令牌, 专门使用 HTTP 授权标头将这些值发送到 直线服务。

最新更新