0

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

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

请指教。

4

1 回答 1

0

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

通过运行以下 CURL 命令(替换为您的 AppId 和 Secret),确保您提供的 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

如果秘密不正确,请按照重新生成。

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

    {
    "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

于 2021-10-29T18:53:57.330 回答