【问题标题】:BotFramework: The bot's MSA appId or password is incorrectBotFramework:机器人的 MSA appId 或密码不正确
【发布时间】:2017-11-10 02:44:40
【问题描述】:

问题: Bot 在使用模拟器时开始向我显示错误。虽然我不确定,但我认为模拟器可能已经更新了

调试我检查了 AppID 和 secret 是否正确。

错误:

-> POST 401 [conversationUpdate]

Error: The bot's MSA appId or password is incorrect. 

Edit your bot's MSA info 

web.config 信息:

<!-- update these with your appid and one of your appsecret keys-->
<add key="MicrosoftAppID" value="XXXXXXXXXXXXXX" />
<add key="MicrosoftAppPassword" value="YYYYYYYYYY" />
<!--Azure Credentials (V1 Authentication Mode) -->
<add key="ActiveDirectory.Mode" value="v1" />
<add key="ActiveDirectory.ResourceId" value="https://graph.windows.net/" />
<add key="ActiveDirectory.EndpointUrl" value="https://login.microsoftonline.com" />
<add key="ActiveDirectory.Tenant" value="ZZZZZZZ" />
<add key="ActiveDirectory.ClientId" value="aaa" />
<add key="ActiveDirectory.ClientSecret" value="bbb" />
<add key="ActiveDirectory.RedirectUrl" value="http://localhost:25601/api/OAuthCallback" />

【问题讨论】:

  • 如果您在本地运行机器人,则 MicrosoftAppId 和 MicrosoftAppPassword 应该为空(除非您使用的是 ngrok,并且您已将消息传递端点更改为指向您的本地计算机)。
  • 谢谢 Eric,它编辑了我的 webconfig 调试和发布。但是,为什么它直到现在才有效?模拟器有什么变化?
  • 我认为模拟器中与本地运行相关的任何变化都没有。据我所知,为了在不设置ngrok的情况下进行本地调试,一直需要清除appid和密码。

标签: c# asp.net azure bots botframework


【解决方案1】:

在本地调试时,将 web.config 文件和模拟器中的 Microsoft APP ID 和 Microsoft App Password 值保持为空。

在 web.config 中:

<configuration>
  <appSettings>
    <!-- update these with your BotId, Microsoft App Id and your Microsoft App Password-->
    <add key="BotId" value="YourBotId" />
    <add key="MicrosoftAppId" value="" />
    <add key="MicrosoftAppPassword" value="" />
  </appSettings>

【讨论】:

  • 我已经清理了 web.config 上的数据,但是当我需要部署到 azure 时,我必须插入 ID,而在本地测试时,我必须删除 ID。有没有办法自动做到这一点?我曾尝试在 web.release.config 中添加 id 并在 web.debug.config 中删除,但没有奏效。
  • 推荐的方法是使用 Azure 门户中的应用程序设置,您应该会发现它们已经在那里填充。如果您在门户中单击您的机器人,然后单击“应用程序设置”菜单,向下滚动到“应用程序设置”部分,您应该会看到它们。这些将覆盖您的 web.config 中的任何内容。
【解决方案2】:

使用 Bot 模板创建一个空项目(或使用现有的 bot 项目)并将 bot builder 版本从 Visual Studio NuGet 包更新到最新版本。 尝试使用最新的机器人模拟器对其进行测试 (https://docs.botframework.com/en-us/tools/bot-framework-emulator/) 它应该可以工作

【讨论】:

    猜你喜欢
    • 2018-06-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-02
    相关资源
    最近更新 更多