带有凭据的模板中的 Azure 机器人在模拟器中不起作用
Azure bot from template with credentials doesn't work in emulator
我的机器人只是拒绝在我的开发模拟器上使用我的 appId 和密码,所以我尝试做尽可能简单的版本。这是我试过的:
- 从新复制的 "Bot Application" 模板创建一个新的空白项目。
- 更新所有 NuGet 包(System.IdentityModel.Tokens.Jwt v5.1.4 除外,因为它与 Microsoft.Bot.Builder 3.8.1 不兼容)。
- 在没有 AppId / Password 的情况下在模拟器中测试它并且它有效。
- 更新 web.config 中的 AppId 和密码。
- 运行 再次打开模拟器,输入 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_ID
和 MICROSOFT_APP_PASSWORD
添加到应用程序设置中,如文章 Deploying Bot Framework to Azure on Linux.
的第 10 步所述
我的机器人只是拒绝在我的开发模拟器上使用我的 appId 和密码,所以我尝试做尽可能简单的版本。这是我试过的:
- 从新复制的 "Bot Application" 模板创建一个新的空白项目。
- 更新所有 NuGet 包(System.IdentityModel.Tokens.Jwt v5.1.4 除外,因为它与 Microsoft.Bot.Builder 3.8.1 不兼容)。
- 在没有 AppId / Password 的情况下在模拟器中测试它并且它有效。
- 更新 web.config 中的 AppId 和密码。
- 运行 再次打开模拟器,输入 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_ID
和 MICROSOFT_APP_PASSWORD
添加到应用程序设置中,如文章 Deploying Bot Framework to Azure on Linux.