c# - Azure Key Vault 中的应用设置配置部分
问题描述
我正在使用新库在 Net5 API 上实现 AAD 身份验证Micorosft.Identity.Web
该库公开了一个方法,该方法只接受一个IConfiguration
带有如下所示部分的方法app.settings
Micorosft.Identity.Web
Startup.cs 上的身份验证方法
public void ConfigureServices(IServiceCollection services)
{
...
services.AddMicrosoftIdentityWebApiAuthentication(Configuration, "AzureAd");
...
}
app.settings.json
"AzureAd": {
"Domain": "contoso.com",
"Instance": "https://login.microsoftonline.com/",
"TenantId": "00000000-0000-0000-0000-000000000000",
"ClientId": "00000000-0000-0000-0000-000000000000"
},
现在,问题是,我使用 Azure 来部署这个 API,当然所有这些敏感值都存储在 Key Vault 中。所以,我想找到一种方法:
services.AddMicrosoftIdentityWebApiAuthentication(new Configuration {
Domain = KeyVaultClient.GetSecret("domain"),
Instance = KeyVaultClient.GetSecret("instance")
TenantId = KeyVaultClient.GetSecret("tenant")
ClientId = KeyVaultClient.GetSecret("client")
});
同时,我找不到在 KeyVault 中创建这个“部分”的方法,所以我可以这样做
services.AddMicrosoftIdentityWebApiAuthentication(KeyVaultClient.GetSecret("azureadconfig"));
如果我在 Key Vault 上拥有所有值,我该如何存档这些选项之一,或者如何避免取决于 app.settings
编辑说明
我有 Key Vault 作为配置提供程序,但我不知道如何以 Section 方式返回这些值,因为这些方法是预期的
解决方案
您可以在 Key Vault 机密名称中使用双破折号,.NET 会将它们视为部分。密名:Section--Itemname
推荐阅读
- android - VideoView 无法播放视频文件并显示 mediiaplayer 错误
- python - 如何在 pandas Dataframe 中创建多级标题?
- regex - 排除“|” 从正则表达式
- reactjs - 在 React 中将多个数据从子级传递给父级
- javascript - 为谷歌时间线图表着色一种特定颜色,并使其他颜色为“默认”各种颜色
- python - 在 django 3.1 中将图像添加到数据库时显示此错误
- reactjs - ReactJS Hook - 如何重新渲染其他组件
- amazon-web-services - 哪个更快 A)。从 informatica 电力交换到雪花或 B) 的数据负载。数据从 AWS S3 加载到 Snowflake
- postgresql - 错误:pg_repack 失败并出现错误:错误:列“relhasoids”不存在
- node.js - npm install 错误:“主机密钥验证失败。”