用户管理身份 - 如何使用 C# 进行身份验证

User Managed Identity - how to authenticate using c#

是否有示例说明如何使用 C# 使用用户管理身份验证 azure 资源?我正在使用以下代码使用系统管理的身份进行身份验证,它工作正常。但不确定如何在以下示例中传递用户管理的身份资源。

 AzureServiceTokenProvider azureServiceTokenProvider = new AzureServiceTokenProvider();

        KeyVaultClient keyVaultClient = new KeyVaultClient(new KeyVaultClient.AuthenticationCallback(azureServiceTokenProvider.KeyVaultTokenCallback));
        var secret = await keyVaultClient.GetSecretAsync("https://mykeyvaultname.vault.azure.net/secrets/test")
                .ConfigureAwait(false);
        return new string[] { secret.Value };

请参阅文档 here. This feature is in the 1.2.0-preview version of the library. It only works on Azure VMs and VMSS as of now. You need to set the client id in a connection string, which can either be specified in the constructor or in the env variable (documentation of other connection string options here)。在这种场景下,推荐构造函数,这样你就可以在本地使用开发者身份/证书,并在 Azure 上切换到用户分配的身份。

更新:该库已更新以支持应用服务中的用户分配身份以及 1.2.0-preview2 的一部分。