private Task <SecretBundle> GetSecretBundleAsync(string uri) => Cacher.FindOrCreateValWithSimpleKeyAsync( Cache.CreateKey(typeof(Vault), nameof(GetSecretBundleAsync), uri), async() => { var kv = new Microsoft.Azure.KeyVault.KeyVaultClient(KeyVaultClientAuthenticationCallbackAsync, HttpClientFactory.Create()); var u = new Uri(uri); var parts = u.LocalPath.Split('/', '\\'); var vaultBaseUrl = u.GetComponents(UriComponents.SchemeAndServer, UriFormat.SafeUnescaped); var secretName = parts[parts.Length - 2]; var secretVersion = parts[parts.Length - 1]; var ret = await kv.GetSecretWithHttpMessagesAsync(vaultBaseUrl, secretName, secretVersion); return(ret.Body); }, CacheTimeout);
public static IWebHost BuildWebHost(string[] args) => WebHost.CreateDefaultBuilder(args) .ConfigureAppConfiguration((context, builder) => { var keyVaultEndpoint = GetKeyVaultEndpoint(); if (!string.IsNullOrEmpty(keyVaultEndpoint)) { var azureServiceTokenProvider = new AzureServiceTokenProvider(); var keyVaultClient = new Microsoft.Azure.KeyVault.KeyVaultClient( new Microsoft.Azure.KeyVault.KeyVaultClient.AuthenticationCallback( azureServiceTokenProvider.KeyVaultTokenCallback)); builder.AddAzureKeyVault( keyVaultEndpoint, keyVaultClient, new DefaultKeyVaultSecretManager()); } } ).UseStartup <Startup>() .Build();
public static Microsoft.Extensions.Configuration.IConfigurationBuilder AddAzureKeyVault(this Microsoft.Extensions.Configuration.IConfigurationBuilder configurationBuilder, string vault, Microsoft.Azure.KeyVault.KeyVaultClient client, Microsoft.Extensions.Configuration.AzureKeyVault.IKeyVaultSecretManager manager) { throw null; }
public static Microsoft.Azure.KeyVault.KeyVaultClient CreateKeyVaultClient() { var myclient = new Microsoft.Azure.KeyVault.KeyVaultClient(new TestKeyVaultCredential(GetAccessToken), GetHandlers()); return(myclient); }
public static Microsoft.AspNetCore.DataProtection.IDataProtectionBuilder ProtectKeysWithAzureKeyVault(this Microsoft.AspNetCore.DataProtection.IDataProtectionBuilder builder, Microsoft.Azure.KeyVault.KeyVaultClient client, string keyIdentifier) { throw null; }