如何保护Bot框架URL免受直接访问

时间:2019-02-13 15:16:22

标签: security authentication botframework

我们计划使用Microsoft bot框架为企业用户开发一个bot,一旦他们登录到我们的企业网站,他们将能够看到该bot。我们如何保护机器人URL不受公开访问。 我如何确保只有具有登录会话的企业用户才能访问Bot。

浏览了Microsoft提供的一些文档,例如通过直接渠道的令牌机制,但我仍未召开会议。有人有相同的参考架构图吗?还是您曾经实施过这样的解决方案?

1 个答案:

答案 0 :(得分:0)

我假设您是专门指您的机器人应用程序的终结点(例如/api/messages)?

使用Azure Bot服务(ABS)时,它将通过其支持的多种渠道之一代理所有传入流量。然后,机器人应用程序本身会通过ABS连接器协议以规范化活动的形式接收传入的请求。此通信通过HTTPS进行保护,并通过JWT令牌进行身份验证,该令牌已签名且可验证。

现在,当使用Bot Builder SDK(BBSDK)时,BBSDK将验证传入的JWT令牌以确保已正确签名。它通过从它知道来自有效(DNS / SSL'd)主机名的元数据文档中获取公钥来实现此目的,然后使用公钥验证签名。这样,它就知道传入的请求确实来自ABS,并且可以信任它。