in src/Microsoft.Extensions.Configuration.AzureAppConfiguration/AzureKeyVaultReference/AzureKeyVaultKeyValueAdapter.cs [119:162]
private string ParseSecretReferenceUri(ConfigurationSetting setting)
{
string secretRefUri = null;
try
{
var reader = new Utf8JsonReader(System.Text.Encoding.UTF8.GetBytes(setting.Value));
if (reader.Read() && reader.TokenType != JsonTokenType.StartObject)
{
throw CreateKeyVaultReferenceException(ErrorMessages.InvalidKeyVaultReference, setting, null, null);
}
while (reader.Read() && reader.TokenType != JsonTokenType.EndObject)
{
if (reader.TokenType != JsonTokenType.PropertyName)
{
continue;
}
if (reader.GetString() == KeyVaultConstants.SecretReferenceUriJsonPropertyName)
{
if (reader.Read() && reader.TokenType == JsonTokenType.String)
{
secretRefUri = reader.GetString();
}
else
{
throw CreateKeyVaultReferenceException(ErrorMessages.InvalidKeyVaultReference, setting, null, null);
}
}
else
{
reader.Skip();
}
}
}
catch (JsonException e)
{
throw CreateKeyVaultReferenceException(ErrorMessages.InvalidKeyVaultReference, setting, e, null);
}
return secretRefUri;
}