【问题标题】:Bot Framework always getting unauthorized responseBot Framework 总是得到未经授权的响应
【发布时间】:2017-01-13 04:55:15
【问题描述】:

我开始使用Microsoft Bot Framework 并逐步遵循所有教程。 我已经能够注册一个新的机器人并部署它与模拟器一起工作,但除此之外没有其他工作。 测试与您的机器人的连接聊天不起作用,尽管我从模拟器和所有连接的渠道获得了答案,在正确创建和注册的地方我总是得到未经授权的响应或类似的东西,无论如何都没有响应,所以没有任何效果。 我尝试使用 Twilio、网络聊天、电报(Skype 身份验证待定)得到相同的响应。 看来我严格遵循教程,还有其他事情要做或获得批准吗?还是只是因为太年轻,服务还没有 100% 发挥作用?

谢谢

【问题讨论】:

  • 并不是这里的任何人无法帮助你,但考虑到这个框架昨天刚刚发布并且处于预览模式,你可能在 MSDN 论坛上运气更好。跨度>
  • 你的机器人叫什么名字?你在用 https 吗?
  • @Alexander - 他们的支持页面说使用 SO 来请求支持。 docs.botframework.com/support/#navtitle

标签: botframework


【解决方案1】:

如果您使用的是 HTTP,则需要禁用基本身份验证,因为连接器不会明文发送您的 appSecret。

解决方案是确保您注册为 HTTPS,或者如果您需要使用 HTTP,则禁用基本身份验证。

【讨论】:

    【解决方案2】:

    我也花了一段时间才让它在本地工作。对我来说奇怪的是,它仅在那些“秘密”字段为空时才有效,如在调试中运行的 所述。 在没有调试的情况下运行似乎总是会导致 401

    【讨论】:

      【解决方案3】:

      您好,我在 v3 本地工作时遇到了同样的问题。我只是将 web.config 中的所有内容都设为空白,并且它正在工作。

      【讨论】:

        【解决方案4】:

        我解决了这个问题。 它与https有关。教程中没有很好地解释它,但是当您在 Azure 中创建和发布服务时,它会创建为 http://XXXXXXX.azurewebsites.net,就像教程中一样,但它不起作用,因为您的服务必须在 https 中运行。 所以我使用https://startssl.com 创建了一个免费的 ssl 证书,然后在我的 Azure 服务中打开 SSL,所以一切都开始工作了。

        【讨论】:

        • 不是在这里打扰,但这正是 Lars 和 T Laird-McConnell 在他们的回答中提到的情况,前一天。如果这些答案有帮助,您应该接受其中一个。
        • 如何在我的 Azure 服务中启用 SSL?
        • 不需要第三方 SSL,因为 Azure 可以做到这一切。即使应用服务在 Azure 门户中显示 http://,Azure 也会在后台生成 https。是您在 Bot 的消息传递端点中输入的 https:// 表单
        【解决方案5】:

        我已经清理了以下内容的入门;希望它能让下一个使用它的人更清楚:

        点击“注册机器人”按钮并填写表格。以后可以更改此表单上的许多字段。使用从 Azure 部署生成的端点,不要忘记,在使用机器人应用程序模板时,您需要使用 /API/Messages 处的端点路径扩展您粘贴的 URL。您还应该使用 HTTPS 而不是 HTTP 作为 URL 的前缀; Azure 将负责在你的机器人上提供 HTTPS 支持。点击表单底部的“创建”保存您的更改。

        【讨论】:

          【解决方案6】:

          确保您使用的是 HTTPS。 BotFramework 不适用于基本身份验证,因此令牌不会以明文形式传递。

          见:http://docs.botframework.com/connector/calling-api/

          【讨论】:

          • 好点测试,你能告诉我在哪里禁用基本身份验证?
          • 你用的是什么平台?
          • Windows,尝试了 C# 和 Node.js,但从“测试与您的机器人的连接”聊天开始就不起作用。
          • 这是一个使用 C# 和远程 HTTP 的示例。它显示了如何禁用基本身份验证:github.com/BSalita/Microsoft-Bot-Application-Remote-HTTP
          • 这是一个在您的家用 PC 上运行机器人的示例,即使使用 HTTPS,都可以从 Internet 访问。您可以使用自己的域名。无需使用 Azure 或 AWS,尽管它需要 ngrok 的服务。 github.com/BSalita/Microsoft-Bot-Application-Remote-HTTPS
          【解决方案7】:

          确保您在注册并获得应用 ID 和密码后重新发布您的机器人服务。如果您不这样做,您将获得未经授权。步骤是 100% 清楚的,我打了一会儿。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2021-06-08
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多