未使用 AzureTokenServiceProvider 进行身份验证

Not getting authenticated using AzureTokenServiceProvider

我正在尝试在我的 ASP.NET Core 3.0 WebApp 中为 Azure 中的应用服务使用托管服务标识。
所以对于本地开发我想要无缝集成。由于 documented by Microsoft 我尝试使用 VS 开发人员帐户进行身份验证并配置了这个帐户,因为这不起作用我安装了 Azure CLI,进行了身份验证并确保使用 az account get-access-token 返回了一个令牌。

调试时(直接dotnet,不使用IIS Express)总是显示我未通过身份验证。 (_tokenProvider.PrincipalUsed 始终是 null,显然 KeyVault Secret 请求因此而失败)。

它应该可以,尝试在 VS 中注销您的帐户并重新登录。

还要确保您的用户帐户位于门户中密钥保管库的 Access policies 中并具有正确的权限。

然后尝试下面的代码来获取秘密。

static void Main(string[] args)
        {
            var azureServiceTokenProvider1 = new AzureServiceTokenProvider();
            var kv = new KeyVaultClient(new KeyVaultClient.AuthenticationCallback(azureServiceTokenProvider1.KeyVaultTokenCallback));
            var secret = kv.GetSecretAsync("https://<keyvault-name>.vault.azure.net/", "<secret-name>").GetAwaiter().GetResult();
            Console.WriteLine(secret);
        }