【发布时间】:2023-03-08 06:22:01
【问题描述】:
我想将用户机密用于 KeyVault 客户端 ID 等。我在设置 KeyVault 时从program.cs 调用我的配置。当我在appsettings.json 中添加值时,一切正常,但如果我删除它并管理用户机密,当我的program.cs 运行时,它总是说 null。
我在创建的secret.json 中有正确的值,并且带有 guid 的属性也在我的项目文件中
我还尝试向secret.json 添加键和值,并尝试从控制器中获取它,它也是空的。
所以我的program.se 中的WebHost.CreateDefaultBuilder 似乎没有加载我的secret.json 文件。
如果我在progam.cs 中将AssUserSecrets 添加到我的WebHost.CreateDefaultBuilder(args) 中,则相同的问题没有区别。
我正在使用WebHost.CreateDefaultBuilder,所以默认情况下应该在 asp .net core 2.2 中使用它
dontnet user-secret list
还将从我的secret.json 文件中为我显示值,因此该值存在,用户密码已被初始化。
dontnet user-secret init
另外,说它已经设置好了。
但调用我的secret.json 属性时仍然为空
public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.UseStartup<Startup>()
.ConfigureServices(services => services.AddAutofac())
.ConfigureAppConfiguration((context, builder) =>
{
var config = builder.Build();
var vault = config["KeyVault:Vault"];
builder.AddAzureKeyVault($"https://{config["KeyVault:Vault"]}.vault.azure.net/", config["KeyVault:ClientId"], config["KeyVault:ClientSecret"]);
});
【问题讨论】:
标签: azure asp.net-core azure-keyvault