public static IConfigurationRoot CreateConfiguration( IConfiguration baseConfig, IHostingEnvironment env, IKeyVaultProvider keyVaultClient, string configPathFormat = ".config/settings{0}.json") { string rootConfigFile = string.Format(configPathFormat, ""); string envConfigFile = string.Format(configPathFormat, "." + env.EnvironmentName); var baseBuilder = new ConfigurationBuilder() .SetBasePath(env.ContentRootPath); if (baseConfig != null) { baseBuilder = baseBuilder.AddConfiguration(baseConfig); } IConfigurationRoot bootstrapConfig = baseBuilder .AddJsonFile(rootConfigFile) .AddJsonFile(envConfigFile) .Build(); Func <KeyVaultClient> clientFactory = keyVaultClient.CreateKeyVaultClient; string keyVaultUri = bootstrapConfig["KeyVaultUri"]; string reloadTimeString = bootstrapConfig["KeyVaultReloadTime"]; if (!TimeSpan.TryParse(reloadTimeString, out var reloadTime)) { reloadTime = TimeSpan.FromMinutes(5); } return(baseBuilder .AddKeyVaultMappedJsonFile(rootConfigFile, keyVaultUri, reloadTime, clientFactory) .AddKeyVaultMappedJsonFile(envConfigFile, keyVaultUri, reloadTime, clientFactory) .Build()); }
public CryptoOperationsAsync(IKeyVaultProvider keyVaultProvider, KeyVaultCryptoAttribute keyVaultCryptoAttribute) { _keyVaultProvider = keyVaultProvider; _keyVaultCryptoAttribute = keyVaultCryptoAttribute; }