Я использую веб-API, использующий NET Core 3.1 из Azure Службы приложений в контейнере docker, и пытаюсь получить секретный ключ от службы хранилища ключей. Мой код выглядит нормально, у вас нет ошибок, но ответ всегда пуст. Это моя инициализация при запуске:
public Startup(IWebHostEnvironment env)
{
var builder = new ConfigurationBuilder()
.SetBasePath(env.ContentRootPath)
.AddJsonFile("appsettings.json", optional: false, reloadOnChange: true)
.AddEnvironmentVariables();
this.bIsDevelopemnt = env.IsDevelopment();
Configuration = builder.Build();
var azureServiceTokenProvider = new AzureServiceTokenProvider();
KeyVaultClient keyVaultClient = new KeyVaultClient(new KeyVaultClient.AuthenticationCallback(azureServiceTokenProvider.KeyVaultTokenCallback));
builder.AddAzureKeyVault(
$"https://{Configuration.GetSection("KeyVaultName").Value}.vault.azure.net/",
keyVaultClient,
new DefaultKeyVaultSecretManager());
}
И я использую этот контроллер для проверки результатов, который возвращает ноль во всех трех случаях:
[HttpGet("/secrets")]
public IActionResult getSecrets()
{
try
{
var value = configuration["tokenKey"];
var value2 = configuration["OhmioAPI:tokenKey"];
var value3 = configuration["OhmioAPI--tokenKey"];
return Ok(new { orign = "pirulo", key1 = value, key2 = value2, key3 = value3 });
}
catch (Exception e) {
return NotFound(e.Message);
}
}
Что у меня есть try / done : * Создание хранилища ключей и секретов * Создание идентификатора для моего приложения * Добавление разрешения на получение / перечисление секретов из хранилища ключей
Любые идеи?