Обезбедете MSAL.NET со повеќекратно употреблив прокси клиент
Имплементирајте IMsalHttpClientFactory околу заеднички HttpClient што го познава проксито и прикачете го на градителот на MSAL апликацијата.
MSAL.NET може да го добие својот HTTP транспорт од IMsalHttpClientFactory. Завиткајте клиент конфигуриран за проксито:
sealed class TokenHttpFactory : IMsalHttpClientFactory
{
private readonly HttpClient client;
public TokenHttpFactory(HttpClient client)
{
this.client = client;
}
public HttpClient GetHttpClient() => client;
}Создајте го ракувачот и клиентот еднаш за животниот век на апликацијата, потоа прикачете ја фабриката за време на постоечката конфигурација на 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));Градителот е постоечкиот градител на MSAL апликацијата; задржете го неговиот авторитет, регистрацијата на клиентот и конфигурацијата на акредитивите. За дозволена јавно достапна HTTPS рута на авторитет без прокси сметка, HTTP адреса од списокот на HTTP прокси може да го пополни примерниот WebProxy. Конфигурирајте прокси акредитиви на WebProxy кога е потребно.
Фабриката мора да биде безбедна за нишки. Користете го клиентот повторно наместо да создавате нов во секој повик на GetHttpClient. MSAL не го ослободува доставениот клиент; неговиот сопственик управува со тој животен век.
Ова ги контролира HTTP барањата на MSAL. Интерактивното најавување може да отвори прелистувач чија мрежа е одделна. Затоа успешното најавување во прелистувачот не докажува дека HTTP клиентот на токенот има исти маршрута.