var handler = new System.Net.Http.HttpClientHandler
{
    UseProxy = true,
    Proxy = new System.Net.WebProxy(
        "http://proxy.example.net:8080")
};

var transport = new Azure.Core.Pipeline.HttpClientTransport(handler);

var credential = new Azure.Identity.ClientSecretCredential(
    tenantId, clientId, clientSecret,
    new Azure.Identity.ClientSecretCredentialOptions
    {
        Transport = transport
    });

var vault = new Azure.Security.KeyVault.Secrets.SecretClient(
    new Uri(vaultUrl),
    credential,
    new Azure.Security.KeyVault.Secrets.SecretClientOptions
    {
        Transport = transport
    });

Brug applikationens rigtige vaultUrl, tenantId, clientId og clientSecret. De to Transport = transport-tildelinger er bevidste: den ene ruter tokenhentning, den anden ruter Key Vault-hemmelighedsanmodninger.

Behold vaultUrl som den faktiske vault-endpoint. Handlerens WebProxy holder mellemleddet; offentlige HTTP-kandidater findes i HTTP-proxylisten, når vaultens netværkspolitik tillader den rute; konfigurer dens Credentials, før klienterne oprettes, hvis netværket kræver det.

Genbrug transporten til klienternes arbejdsbyrde, og frigiv ejede ressourcer ved nedlukning. En vellykket proxyforbindelse etablerer en rute, mens Key Vaults netværks- og adgangspolitikker stadig afgør, om applikationen må læse hemmeligheden.

Relaterede artikler