コード例 #1
0
        public void CreateCorrectConfigKey(string secretName, string configKey)
        {
            PrefixKeyVaultSecretManager manager = CreateManager();
            KeyVaultSecret secret = new(secretName, string.Empty);

            manager.GetKey(secret).Should().Be(configKey);
        }
コード例 #2
0
        public void LoadPrefixedValue(string secretName, bool loadIt)
        {
            PrefixKeyVaultSecretManager manager = CreateManager();
            SecretProperties            secret  = new(secretName);

            manager.Load(secret).Should().Be(loadIt);
        }
コード例 #3
0
 public static IWebHostBuilder CreateWebHostBuilder(string[] args)
 {
     return(WebHost.CreateDefaultBuilder(args)
            .ConfigureAppConfiguration((context, config) =>
     {
         var builtConfig = config.Build();
         var keyVault = builtConfig["KeyVault"];
         if (keyVault != null)
         {
             var prefix = new PrefixKeyVaultSecretManager("App");
             var clientSecret = builtConfig["AzureAD:ClientSecret"];
             var clientId = builtConfig["AzureAD:ClientId"];
             if (String.IsNullOrWhiteSpace(clientSecret) ||
                 String.IsNullOrWhiteSpace(clientId))
             {
                 // try managed service identity
                 var azureServiceTokenProvider = new AzureServiceTokenProvider();
                 var keyVaultClient = new KeyVaultClient(new KeyVaultClient.AuthenticationCallback(azureServiceTokenProvider.KeyVaultTokenCallback));
                 config.AddAzureKeyVault(
                     keyVault,
                     keyVaultClient,
                     prefix
                     );
             }
             else
             {
                 config.AddAzureKeyVault(
                     keyVault,
                     clientId,
                     clientSecret,
                     prefix
                     );
             }
         }
     })
            .UseStartup <Startup>()
            .UseSerilog((hostingContext, loggerConfiguration) => loggerConfiguration
                        .ReadFrom.Configuration(hostingContext.Configuration)
                        .Enrich.FromLogContext()
                        .WriteTo.Console()));
 }