保护Web客户端的Botframework中的直接线秘密



我已经准备好了我的机器人,并在webchat 中使用直线秘密(通过传递& s = url中的秘密)和其他频道。

我对使用Direct Line Clientjs 的前端自定义聊天应用程序感兴趣(底部链接)

浏览了Bot框架上的文档后,我知道可以通过两种方式完成:

  1. Clientjs中的前端聊天应用程序通过直接线秘密
  2. 从前端聊天应用程序传递令牌(但是,这需要直接秘密才能通过第一次生成令牌)

当我使用各自用例为客户开发机器人时需要与客户端服务器保持私密。

因此,任何具有直接线秘密的人都可以轻松获取bot logic (即不是实际的代码,而是什么答案bot回复了特定问题)仅通过Microsoft Bot bot框架中提供WebChat的直接线秘密来提供WebChat客户端(通过s = url中的秘密)

因此,基本上,我如何向别人隐藏秘密?

直线客户端:https://github.com/microsoft/botbuilder-samples/tree/master/node/core-directline

身份验证机制:https://learn.microsoft.com/en-us/bot-framework/rest-api/bot-framework-ramework-rest-rest-direct-direct-line-3-0-authentication

编程语言:

  • 前端 - 带打字稿的Angular.js
  • 后端-Node.js on Heroku

您需要按照本节中所述的方法#2遵循直接令牌令牌。那么,您根本不必在网页页面中使用秘密。

直接的线令牌是可用于访问单个对话的键。令牌到期,但可以刷新。

这样,您的客户将以每次交流为基础使用生成的令牌,并且无需将秘密嵌入到网络聊天页面中。另外,当您使用令牌时,它将到期,因此您在那里也有其他安全性。

的确,您需要将秘密完全放在直线上,但是您可以在bot代码中处理某些方法以避免使用其他人。

请执行以下步骤:

1) you can pass the domain where you want to implement with user login context.
2) login context will go in bot code and will be check server side that the user which is logged in having authorized to access or to use your chat bot.
3) Restrict your bot to that particular domain.
4) Check authentication in bot using sign in feature via card.

我希望上面的衬里能为您提供帮助。如果您需要更多帮助,请让我知道。

最新更新