“无法发布活动。未经授权”从机器人模拟器测试时

Moh*_*hit 10 bots botframework

在 Bot Emulator 中从 Azure 测试 EchoBot 模板时,我不断收到“无法发布活动。未经授权”。我该如何防范?我是 .NET 的新手,所以不明白这里的身份验证是如何工作的。我可以看到正在加载的配置设置,但我看不到它们是如何在 Azure 的默认 EchoBot 模板中提供或应用的。

我发现如果我在 appsettings.json 中定义了“MicrosoftAppID”和“MicrosoftAppPassword”,我只会获得未授权。如果我将这些注释掉,它就可以正常工作。

    [HttpPost]
    public async Task PostAsync()
    {
        // Delegate the processing of the HTTP POST to the adapter.
        // The adapter will invoke the bot.
        await Adapter.ProcessAsync(Request, Response, Bot);
    }
Run Code Online (Sandbox Code Playgroud)

所以我想了解如何避免在本地测试代码时必须注释掉这些行。PostAsync 返回 401。

小智 13

您是否尝试在模拟器中添加您的Microsoft App IDMicrosoft App 密码

在模拟器中测试机器人时添加这些后它应该可以正常工作,请查看下面的图片

在此处输入图片说明


noo*_*mer 8

转到您的appSettings.json文件并检查您是否提供了 Microsoft 应用 ID 和应用密码。在 Azure 上注册您的应用程序后,您将获得它。如果尚未在 Azure 上注册,则不会获得 ID 和密码。在这种情况下,您必须将 Microsoft 应用 ID 和密码 json 字符串留空。像这样的东西:

在此处输入图片说明

在 Bot Emulator 中,不要提供任何凭据。只需提供您的应用程序 URL 并点击Connect

通过这种方式,您可以摆脱错误。

希望这可以帮助。