带有凭据的模板中的 Azure 机器人在模拟器中不起作用

Azure bot from template with credentials doesn't work in emulator

我的机器人只是拒绝在我的开发模拟器上使用我的 appId 和密码,所以我尝试做尽可能简单的版本。这是我试过的:

  1. 从新复制的 "Bot Application" 模板创建一个新的空白项目。
  2. 更新所有 NuGet 包(System.IdentityModel.Tokens.Jwt v5.1.4 除外,因为它与 Microsoft.Bot.Builder 3.8.1 不兼容)。
  3. 在没有 AppId / Password 的情况下在模拟器中测试它并且它有效。
  4. 更新 web.config 中的 AppId 和密码。
  5. 运行 再次打开模拟器,输入 AppId 和密码。

所以这是一个全新的模板解决方案,只是更改了我的凭据,这是它给出的错误:

POST 401 [conversationUpdate] 
Error: The bot's MSA appId or password is incorrect. 
Edit your bot's MSA info

凭据绝对正确,因为我当时使用 cUrl 命令进行了测试并收到了令牌。

我的开发机器是 Windows Server 2008 R2。

本地开发不需要App ID和密码。部署和注册机器人后,您还可以通过 Bot Framework Developer Portal 网络聊天测试您的机器人。

场景 1: 如果您是 运行 本地计算机上的机器人代码,请不要在模拟器中使用应用程序 ID 或密码。

场景 2: 如果您的机器人部署到 Azure 或其他云服务,那么您将需要使用应用程序 ID/pwd 在模拟器中进行测试。在 Azure 上,推荐的方法是将 MICROSOFT_APP_IDMICROSOFT_APP_PASSWORD 添加到应用程序设置中,如文章 Deploying Bot Framework to Azure on Linux.

的第 10 步所述