Exemplo n.º 1
0
        /// <inheritdoc />
        public void Configure(IWebHostBuilder builder)
        {
            var azureServiceTokenProvider = new AzureServiceTokenProvider();
            var authenticationCallback    = new KeyVaultClient.AuthenticationCallback(azureServiceTokenProvider.KeyVaultTokenCallback);
            var keyVaultClient            = new KeyVaultClient(authenticationCallback);

            var baseConfiguration = HostingStartupConfigurationExtensions.GetBaseConfiguration();

            builder.ConfigureServices((context, collection) =>
            {
                var configuration = new ConfigurationBuilder()
                                    .AddConfiguration(baseConfiguration)
                                    .AddConfiguration(context.Configuration)
                                    .Build();

                if (configuration.IsEnabled(HostingStartupName, DataProtectionFeatureName) &&
                    configuration.TryGetOption(HostingStartupName, DataProtectionKeyName, out var protectionKey))
                {
                    AddDataProtection(collection, keyVaultClient, protectionKey);
                }
            });

            if (baseConfiguration.IsEnabled(HostingStartupName, ConfigurationFeatureName) &&
                baseConfiguration.TryGetOption(HostingStartupName, ConfigurationVaultName, out var vault))
            {
                builder.ConfigureAppConfiguration((context, configurationBuilder) =>
                {
                    AddConfiguration(configurationBuilder, keyVaultClient, vault);
                });
            }
        }
        /// <summary>
        /// Calls UseAzureAppServices
        /// </summary>
        /// <param name="builder"></param>
        public void Configure(IWebHostBuilder builder)
        {
            var baseConfiguration = HostingStartupConfigurationExtensions.GetBaseConfiguration();

            if (baseConfiguration.IsEnabled(HostingStartupName, DiagnosticsFeatureName))
            {
                builder.UseAzureAppServices();
            }
        }
Exemplo n.º 3
0
        private static IConfigurationRoot BuildConfiguration(char ds, string environment, IConfigurationRoot multitenancyConfiguration = null)
        {
            const string configDirectory = "Configs";
            const string hosting         = nameof(hosting);


            IConfigurationRoot BuildDefaultConfiguration(string envName)
            {
                IConfigurationBuilder configurationBuilder = HostingStartupConfigurationExtensions.GetBaseConfigurationBuilder();
                IConfigurationRoot    config = configurationBuilder
                                               .SetBasePath(Directory.GetCurrentDirectory())
                                               .AddJsonFile($"{nameof(MultitenancyConstants.MultitenancyOptions)}.json", optional: true, reloadOnChange: true)
                                               .AddJsonFile($"{nameof(MultitenancyConstants.MultitenancyOptions)}.{envName}.json", optional: true, reloadOnChange: true)
                                               .AddJsonFile($"{configDirectory}{ds}{nameof(MultitenancyConstants.MultitenancyOptions)}.json", optional: true, reloadOnChange: true)
                                               .AddJsonFile($"{configDirectory}{ds}{nameof(MultitenancyConstants.MultitenancyOptions)}.{envName}.json", optional: true, reloadOnChange: true)
                                               //.AddEnvironmentVariables()
                                               .Build()
                ;

                return(config);
            }

            return(multitenancyConfiguration ?? (multitenancyConfiguration = BuildDefaultConfiguration(environment)));
        }