c# - Azure KeyVault 配置提供程序在更改时重新加载值
问题描述
我正在使用 Azure Key Vault 配置提供程序在应用启动时读取一些机密。然而,这些秘密整天都在轮换,我希望能够在轮换发生时重新加载新值。
我说的和reloadOnChange
api类似
.ConfigureAppConfiguration((context, config) =>
{
config.AddJsonFile("appsettings.json", reloadOnChange: true);
})
这可能吗?
这是一个 webapi 项目,因此在实践中,如果更好/更可行,我可以手动重新加载每个 HttpRequest 的值。
解决方案
使用Microsoft.Extensions.Configuration.AzureKeyVault (v3),您可以执行以下操作:
configurationBuilder.AddAzureKeyVault(new AzureKeyVaultConfigurationOptions
{
Vault = configuration["KeyVaultUrl"],
ReloadInterval = TimeSpan.FromMinutes(10),
Client = new KeyVaultClient(new KeyVaultClient.AuthenticationCallback(
new AzureServiceTokenProvider().KeyVaultTokenCallback))
});
现在,当您在服务中请求时IConfiguration
,KeyVault 机密将可用并根据您的重新加载间隔刷新。
推荐阅读
- java - 春季安全CORS登录
- python - 获取类修饰函数的实例
- java - 将 JLabel 从一个 JPanel 拖到另一个 JPanel 时遇到问题
- javascript - AJAX not passing variable to PHP file
- angular - 具有不同 routerLinks 的 Angular 通知组件未根据输入重定向
- python - 二次公式一半的时间不起作用?
- wordpress - WooCommerce 重定向到上一页
- python-3.x - Flask + curl:使用 POST 请求触发特定路由
- javascript - 嵌套 div 上的选择性悬停背景更改
- c# - 停止格式化数字的 Asp.Net Core 标签助手