Opskrbite MSAL.NET višekratno upotrebljivim proxy klijentom
Implementirajte IMsalHttpClientFactory oko zajedničkog HttpClient-a koji poznaje proxy i priložite ga graditelju MSAL aplikacije.
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.