Ejemplo n.º 1
0
        public static void AddCustomDataProtection(this IServiceCollection services, IConfiguration configuration, string discriminator)
        {
            var connectionString = new AzureKeyVaultConnectionStringBuilder(configuration.GetConnectionString("AzureKeyVault"));

            services.AddDataProtection(options => options.ApplicationDiscriminator = discriminator)
            .PersistKeysToRedis(RedisConnectionMultiplexer.Connect(configuration.GetConnectionString("Redis")), "DataProtection-Keys")
            .ProtectKeysWithAzureKeyVault(
                $"https://{connectionString.Name}.vault.azure.net/keys/dataprotection/",
                connectionString.ClientId,
                connectionString.ClientSecret);
        }
        public static IHealthChecksBuilder AddCustomAzureKeyVault(this IHealthChecksBuilder builder, IConfiguration configuration)
        {
            var connectionString = new AzureKeyVaultConnectionStringBuilder(configuration.GetAzureKeyVaultConnectionString());

            return(builder.AddAzureKeyVault(
                       options =>
            {
                options.UseKeyVaultUrl($"https://{connectionString.Name}.vault.azure.net");
                options.UseClientSecrets(connectionString.ClientId, connectionString.ClientSecret);
            }));
        }
Ejemplo n.º 3
0
        public static IWebHostBuilder UseCustomAzureKeyVault(this IWebHostBuilder hostBuilder)
        {
            return(hostBuilder.ConfigureAppConfiguration(
                       (context, builder) =>
            {
                context.Configuration = builder.Build();

                var connectionString = new AzureKeyVaultConnectionStringBuilder(context.Configuration.GetConnectionString("AzureKeyVault"));

                builder.AddAzureKeyVault($"https://{connectionString.Name}.vault.azure.net", connectionString.ClientId, connectionString.ClientSecret);
            }));
        }