Bot Framework 门户 - “测试与您的机器人的连接”401 未经授权

Kah*_*Kah 2 c# azure botframework

我创建了一个机器人应用程序,我已经成功地通过模拟器在本地进行了测试。

在https://docs.botframework.com/en-us/csharp/builder/sdkreference/gettingstarted.html之后,我将机器人应用程序发布到 Azure。(创建为http://mybotappname.azurewebsites.net)

然后,我转到https://dev.botframework.com上的 Microsoft Bot Framework 门户并注册了机器人,并确保将消息传递端点设置为

http s ://mybotappname.azurewebsites.net /api/messages

成功注册后,我更新了 web.config 中的 MicrosoftAppId 和 MicrosoftAppPassword 密钥。

但是,当我尝试“测试与您的机器人的连接”时,我看到的只是一条消息

“未经授权”

我如何调试这是从哪里来的?

我尝试运行 Bot Framework Channel Emulator,将 Bot Url 设置为与我的 Bot 为 Messaging 端点设置的 URL 相同的 URL。这也给了我一条“401 Unauthorized”消息,但我不知道如何/在哪里调试原因。

有没有人经历过这个或知道我可以做些什么来调试?

谢谢

Kah*_*Kah 6

弄清楚了:

在 web.config 中,默认的 appSetting 键是

<add key="AppId" value="ID" />
<add key="AppSecret" value="SECRET" />
Run Code Online (Sandbox Code Playgroud)

在文档中,我们设置:

<add key="MicrosoftAppId" value = "ID" />
<add key="MicrosoftAppPassword" value = "SECRET" />
Run Code Online (Sandbox Code Playgroud)

我的问题不是将这些 appSetting 键更新为 MicrosoftAppId 和 MicrosoftAppPassword。一旦我这样做了,它就奏效了。


sco*_*ott 5

入门指南在这方面有点误导。在第 5 步中,它会告诉您:

Bot Framework 注册页面中的 AppId 和 AppPassword 必须记录在项目的 web.config 中

稍后在模拟器部分,它特别告诉您在本地运行时不要将 appid 或密码放入模拟器工具内的框中。这部分是不正确的,如果您的 web.config 文件中有值,那么您必须将相同的值放入模拟器。您可以将模拟器中的值保留为空白,但随后您还需要将它们从 web.config 文件中删除。

此页面对解决身份验证问题非常有帮助:https : //docs.botframework.com/en-us/support/troubleshooting-bot-framework-authentication/