Ejemplo n.º 1
0
        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());
        }
Ejemplo n.º 2
0
 public CryptoOperationsAsync(IKeyVaultProvider keyVaultProvider, KeyVaultCryptoAttribute keyVaultCryptoAttribute)
 {
     _keyVaultProvider        = keyVaultProvider;
     _keyVaultCryptoAttribute = keyVaultCryptoAttribute;
 }