MSAL.NET može dobiti svoj HTTP transport od IMsalHttpClientFactory. Obavijte klijent konfiguriran za proxy:

sealed class TokenHttpFactory : IMsalHttpClientFactory
{
    private readonly HttpClient client;

    public TokenHttpFactory(HttpClient client)
    {
        this.client = client;
    }

    public HttpClient GetHttpClient() => client;
}

Kreirajte rukovatelja i klijent jednom za životni vijek aplikacije, zatim priključite fabriku tokom postojeće konfiguracije MSAL graditelja:

var proxy = new WebProxy("http://proxy.example:8080");
var handler = new HttpClientHandler { Proxy = proxy, UseProxy = true };
var tokenHttp = new HttpClient(handler);

builder.WithHttpClientFactory(new TokenHttpFactory(tokenHttp));

Graditelj je postojeći MSAL graditelj aplikacije; zadržite njegov autoritet, registraciju klijenta i konfiguraciju vjerodajnica. Za dopuštenu javno dostupnu HTTPS rutu autoriteta bez proxy računa, HTTP adresa iz liste HTTP proxyja može popuniti primjer WebProxy. Konfigurirajte proxy vjerodajnice na WebProxy kada je potrebno.

Fabrika mora biti sigurna za niti. Ponovno koristite klijent umjesto stvaranja novog u svakom pozivu GetHttpClient. MSAL ne odlaže dostavljeni klijent; njegov vlasnik upravlja tim vijekom.

Ovo kontrolira MSAL HTTP zahtjeve. Interaktivna prijava može otvoriti preglednik čija je mreža odvojena. Stoga uspješna prijava u pregledniku ne dokazuje da token HTTP klijent ima istu rutu.

Povezani članci