【问题标题】:Loading secrets and application properties in Configuration Provider在配置提供程序中加载机密和应用程序属性
【发布时间】:2021-07-18 01:46:37
【问题描述】:

我计划在 .Net Core 3.1 上创建一个新的 WEBAPI(Azure App Services WEBAPP)。想要将所有 keyvault 机密和应用程序属性键值加载到相同的配置中。下面是我如何发现如何将秘密放入配置中,但我们如何也加载应用程序属性

public static IHostBuilder CreateHostBuilder(string[] args) =>
    Host.CreateDefaultBuilder(args)
        .ConfigureWebHostDefaults(webBuilder =>
        {
            webBuilder.UseStartup<Startup>();
        })
    .ConfigureAppConfiguration((context, config) =>
    {
        var builtConfig = config.Build();
        var vaultName = builtConfig["VaultName"];
        var keyVaultClient = new KeyVaultClient(
            async (authority, resource, scope) =>
            {
                var credential = new DefaultAzureCredential(false);
                var token = credential.GetToken(
                    new Azure.Core.TokenRequestContext(
                        new[] { "https://vault.azure.net/.default" }));
                return token.Token;
            });
        config.AddAzureKeyVault(
            vaultName,
            keyVaultClient,
            new DefaultKeyVaultSecretManager());
    });

【问题讨论】:

  • 什么应用程序属性?你的意思是在 appsettings.json 中?默认情况下应该包含它们。

标签: c# azure asp.net-core .net-core azure-keyvault


【解决方案1】:

如果您指的是应用程序设置值,它们应该默认包含在 cmets 中提到的 Nestenius。并且可以通过代码获取值:

ConfigurationManager.AppSettings["KeyName"]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-15
    • 1970-01-01
    • 2018-03-23
    • 2016-09-13
    • 2014-08-22
    • 2013-09-30
    相关资源
    最近更新 更多