【问题标题】:BOT Emulator shows unauthorized error after deploymentBOT 模拟器在部署后显示未经授权的错误
【发布时间】:2021-10-26 05:28:54
【问题描述】:

我是微软 BOT 开发的新手。我正在尝试创建一个向已连接用户发送主动消息的 BOT 应用程序。我有一个GitHub repo 源代码。 我已经在 Azure 门户中创建了一个应用程序,并将这些凭据用于本地开发环境,并使用 Bot Emulator 连接 BOT 应用程序。在本地环境中一切正常,我可以将 BOT Emulator 与本地开发环境连接起来。部署后 (deployment documentation URL) 我无法通过模拟器连接 BOT,它总是显示一条消息,无法发布未经授权的活动

我已经将 AppID 和密码复制到“.env”文件中。此 AppID 和密码在本地开发中运行良好。部署后连接 BOT 是否需要额外配置?

请指教。

【问题讨论】:

    标签: azure botframework azure-deployment proactive


    【解决方案1】:

    在本地模拟器中,它也可以在没有 AppID 和密码的情况下运行,除非您正在与任何外部资源进行通信,例如LUIS、QnA 服务等

    通过运行以下 CURL 命令确保您提供的 AppID 和密码正确(替换为您的 AppId 和密码)。如果正确,您会看到令牌生成成功。

    curl -k -X POST https://login.microsoftonline.com/botframework.com/oauth2/v2.0/token -d "grant_type=client_credentials&client_id=APP_ID&client_secret=APP_PASSWORD&scope=https%3A%2F%2Fapi.botframework.com%2F.default"
    

    https://docs.microsoft.com/en-us/azure/bot-service/bot-service-troubleshoot-authentication-problems?view=azure-bot-service-4.0&tabs=csharp#step-2

    如果密码不正确,请关注this重新生成。

    如果上述操作正常,并且您看到正在生成令牌,并且您的 Bot 代码部署在 Azure 上,您还可以在应用服务配置中添加 Bot AppID 和密码。类似this -

        {
        "name": "MicrosoftAppId",
        "value": "xxxx-xxxx-xxxx-xxxx-xxxx",
        "slotSetting": false
      },
      {
        "name": "MicrosoftAppPassword",
        "value": "xxxx",
        "slotSetting": false
      },
    

    如果您将 Bot 机密存储在 Key Vault 中,您也可以从那里检索。 https://docs.microsoft.com/en-us/azure/bot-service/bot-builder-authentication?view=azure-bot-service-4.0&tabs=csharp%2Caadv2#azure-key-vault

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-14
      • 1970-01-01
      相关资源
      最近更新 更多