Teams Bot - 从 Key Vault 获取凭据

Teams Bot - get credentials from Key Vault

我搜索了一下,但没有找到对我有帮助的东西。我为团队创建了一个机器人,就像所有示例中描述的那样,我使用 appsettings.json 来存储机器人的 ID 和密码(MicrosoftAppId 和 MicrosoftAppPassword)。这些都是由框架以某种方式处理的。但现在我想使用 Azure Key Vault 来存储机密,而不是使用 appsettings 文件。

所以我找到了一些示例来解释如何在 BotFramework V3 中使用 BotAuthentication 属性执行此操作,甚至是 BotFramework V4 here (working link for the linked example here)。但即使是那个例子也很古老,不再存在了。

我应该如何为团队机器人和 c# dotnet 3.1 执行此操作?

您可以使用以下方法存储密值

        var storageSecretValue = keyVaultClient.GetSecretAsync($"{this.configuration.GetSection("KeyVault")["BaseURL"]}{this.configuration["KeyVaultStrings:StorageConnection"]}");

请参阅以下示例文档以进行更多说明:- https://github.com/OfficeDev/microsoft-teams-apps-newemployeeonboarding/blob/main/Source/Microsoft.Teams.Apps.NewHireOnboarding/Startup.cs

https://docs.microsoft.com/en-us/samples/azure-samples/key-vault-dotnet-core-quickstart/get-started-keyvault-net/