在本地模拟器中,它也可以在没有 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