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;
}

Izradite rukovatelja i klijent jednom za životni vijek aplikacije, zatim priložite tvornicu tijekom 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 s popisa HTTP proxyja može ispuniti primjer WebProxy. Konfigurirajte proxy vjerodajnice na WebProxy kada je potrebno.

Tvornica mora biti sigurna za niti. Ponovno upotrijebite klijent umjesto stvaranja novoga u svakom pozivu GetHttpClient. MSAL ne odbacuje 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 tokenov HTTP klijent ima istu rutu.

Povezani članci