C# 如何从Azure vault访问密钥
我遵循官方文件并开发了代码,但它不起作用。我得把秘密钥匙藏在保险库里 当我调试时,它只会停止在前面提到的步骤中,不会再继续下去。我也试过了,没有调试。都一样。是否还有其他设置/权限需要设置C# 如何从Azure vault访问密钥,c#,azure-keyvault,C#,Azure Keyvault,我遵循官方文件并开发了代码,但它不起作用。我得把秘密钥匙藏在保险库里 当我调试时,它只会停止在前面提到的步骤中,不会再继续下去。我也试过了,没有调试。都一样。是否还有其他设置/权限需要设置 private void EncryptFields() { string publicKey = GetAzureVaultSecret().Result; } public static async Task<string> GetAzureVaultSecret() { var
private void EncryptFields()
{
string publicKey = GetAzureVaultSecret().Result;
}
public static async Task<string> GetAzureVaultSecret()
{
var kv = new KeyVaultClient(new KeyVaultClient.AuthenticationCallback(GetAzureVaultAccessToken));
var secret = await kv.GetSecretAsync(GlobalConstants.AzureVaultURLSecretURI);
return secret.Value;
}
public static async Task<string> GetAzureVaultAccessToken(string authority, string resource, string scope)
{
var authContext = new AuthenticationContext(authority);
ClientCredential clientCred = new ClientCredential(GlobalConstants.AzureVaultClientId, GlobalConstants.AzureVaultClientSecret);
//STOPS AT THE BELOW STEP AND NOTHING HAPPENS
AuthenticationResult result = await authContext.AcquireTokenAsync(resource, clientCred);
if (result == null)
{
throw new InvalidOperationException("Failed to obtain the token");
}
return result.AccessToken;
}
private void EncryptFields()
{
字符串publicKey=GetAzureVaultSecret().Result;
}
公共静态异步任务GetAzureVaultSecret()
{
var kv=新的KeyVaultClient(新的KeyVaultClient.AuthenticationCallback(GetAzureVaultAccessToken));
var secret=wait kv.GetSecretAsync(GlobalConstants.AzureVaultURLSecretURI);
返回秘密值;
}
公共静态异步任务GetAzureVaultAccessToken(字符串权限、字符串资源、字符串范围)
{
var authContext=新的AuthenticationContext(授权);
ClientCredential clientCred=新的ClientCredential(GlobalConstants.AzureVaultClientId,GlobalConstants.AzureVaultClientSecret);
//在下面的步骤停止,并且什么也没有发生
AuthenticationResult=等待authContext.AcquireTokenAsync(资源,clientCred);
如果(结果==null)
{
抛出新的InvalidOperationException(“获取令牌失败”);
}
返回result.AccessToken;
}
日志:
ManagedPoolThread#3 00:23:46警告内存使用量超过
记忆监视器阈值。ManagedPoolThread#3 00:23:46警告内存
用法:3,21,95,91168 ManagedPoolThread#3 00:23:46警告数量
由于日志条目之间的最短时间间隔:10,日志被抑制