/// <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(); } }
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))); }