我们团队中的每个开发人员都有与自己的本地计算机相关联的个人 Azure密钥库。我们的生产站点具有一个生产Azure密钥库。
在代码中,它从库中查找特定秘密。开发人员不会在其个人密钥库中拥有秘密,但是生产密钥库将具有秘密。
因此,在开发人员进行调试时,它将捕获一个异常,指出该秘密不存在。
是否可以有条件地检查 秘密是否存在 ,还是只需要让它捕获异常?
答案 0 :(得分:4)
没有方法可以检查密钥库中是否存在秘密。因此,可以采用一些创造力来做到这一点(跳过的参数检查简洁程度):
function test(){
this.array.forEach(function(){});
}
编辑: 找到了一种无需依赖异常即可检查机密是否存在的方法:
public bool CheckIfSecretExists(string accessToken, string secretUri)
{
var kvClient= new KeyVaultClient(accessToken);
try
{
kvClient.GetSecretAsync(secretUri ).Result.Value;
return true;
}
catch (AggregateException ex)
{
if (ex.InnerException is KeyVaultErrorException exception && exception.Body.Error.Code == "SecretNotFound")
return false;
throw;
}
}
答案 1 :(得分:0)
检查错误是否未在异常中找到的更简单方法是来自HTTPRequest响应
$('.owl-item:not(.cloned) * .desert-safari-gallery').magnificPopup(..
答案 2 :(得分:-2)
使用Azure中的默认凭据创建一个新的秘密客户端,并使用先前设置的环境变量(包括AZURE_CLIENT_ID,AZURE_CLIENT_SECRET和AZURE_TENANT_ID)来标识新身份。
var client = new SecretClient(vaultUri: new Uri(keyVaultUrl), credential: new DefaultAzureCredential());
使用机密客户端检索机密。
secret = client.GetSecret("secret-name");