Poskytnite MSAL.NET opakovane použiteľného proxy klienta
Implementujte IMsalHttpClientFactory okolo zdieľaného HttpClient, ktorý pozná proxy, a pripojte ho k tvorcovi aplikácie MSAL.
MSAL.NET môže získať svoj HTTP transport z IMsalHttpClientFactory. Obaľte klienta nakonfigurovaného pre proxy:
sealed class TokenHttpFactory : IMsalHttpClientFactory
{
private readonly HttpClient client;
public TokenHttpFactory(HttpClient client)
{
this.client = client;
}
public HttpClient GetHttpClient() => client;
}Vytvorte obsluhu a klienta raz na celú životnosť aplikácie, potom pripojte továreň počas existujúcej konfigurácie tvorcu MSAL:
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));Tvorca je existujúci tvorca aplikácie MSAL; zachovajte jeho autoritu, registráciu klienta a konfiguráciu prihlasovacích údajov. Pre povolenú verejne dostupnú trasu autority HTTPS bez proxy účtu môže HTTP adresa zo zoznamu HTTP proxy vyplniť ukážkový WebProxy. V prípade potreby nakonfigurujte prihlasovacie údaje proxy na WebProxy.
Továreň musí byť bezpečná pre vlákna. Klienta znovu používajte namiesto vytvárania nového v každom volaní GetHttpClient. MSAL dodaného klienta neuvoľňuje; jeho životnosť spravuje jeho vlastník.
Toto riadi HTTP požiadavky MSAL. Interaktívne prihlásenie môže otvoriť prehliadač, ktorého sieť je oddelená. Fungujúce prihlásenie v prehliadači preto nedokazuje, že HTTP klient tokenu má rovnakú trasu.