Как получить значение секрета из хранилища ключей в Configuration Builder - PullRequest
1 голос
/ 13 мая 2019

Я следил за некоторыми документами там. Итак, установив конструктор конфигурации, я добавил этот код:

AzureServiceTokenProvider azureServiceTokenProvider = new AzureServiceTokenProvider();
KeyVaultClient keyVaultClient = new KeyVaultClient(new KeyVaultClient.AuthenticationCallback(azureServiceTokenProvider.KeyVaultTokenCallback));
builder.AddAzureKeyVault($"https://{Configuration.GetSection("Azure")["KeyVaultName"]}.vault.azure.net/", keyVaultClient, new DefaultKeyVaultSecretManager());

Теперь я пытаюсь получить значение из названного секрета, который хранится в хранилище.

Я думал, что смогу вытащить что-то вроде этого:

builder.getSecret('DevDbPassword');

Так что я могу использовать для обновления пароля с помощью SqlConnectionStringBuilder.

Может ли кто-нибудь помочь разобраться, как получить секрет?

Спасибо Eric

Ответы [ 2 ]

1 голос
/ 14 мая 2019

Почему вы хотели получить секрет в Configuration Builder? Вы можете получить секрет таким образом:

     AzureServiceTokenProvider azureServiceTokenProvider = new AzureServiceTokenProvider();
     KeyVaultClient keyVaultClient = new KeyVaultClient(new KeyVaultClient.AuthenticationCallback(azureServiceTokenProvider.KeyVaultTokenCallback));
     var secret = await keyVaultClient.GetSecretAsync("https://<YourKeyVaultName>.vault.azure.net/secrets/AppSecret")
             .ConfigureAwait(false);
     Message = secret.Value;

Подробнее см. В этом документе .

Если вы все еще хотите получить секрет в Configuration Builder, вы можете обратиться к этому образцу .

public string Message { get; set; }

public AboutModel(IConfiguration configuration)
{
    _configuration = configuration;
}

private readonly IConfiguration _configuration = null;

public void OnGet()
{
    Message = "My key val = " + _configuration["AppSecret"];
}
0 голосов
/ 14 мая 2019

Этот проходит через начало и конец (убедитесь, что вы смотрите на версию C #).

Как только вы настроите вещи так, как они есть, секреты вашего хранилища станут частью конфигурации приложения. Вам нужно ввести IConfiguration туда, где вам нужен секрет, и получить из него его значение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...