Gje MSAL.NET ein gjenbrukbar proxyklient
Implementer IMsalHttpClientFactory rundt ein delt proxybevisst HttpClient, og knyt han til MSAL-applikasjonsbyggjaren.
MSAL.NET kan hente HTTP-transporten sin frå IMsalHttpClientFactory. Pakk inn ein klient som er konfigurert for proxyen:
sealed class TokenHttpFactory : IMsalHttpClientFactory
{
private readonly HttpClient client;
public TokenHttpFactory(HttpClient client)
{
this.client = client;
}
public HttpClient GetHttpClient() => client;
}Lag handteraren og klienten éin gong for levetida til applikasjonen, og knyt deretter fabrikken til under den eksisterande MSAL-byggjarkonfigurasjonen:
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));Byggjaren er den eksisterande MSAL-applikasjonsbyggjaren til applikasjonen; hald på autoriteten, klientregistreringa og legitimasjonskonfigurasjonen hans. For ei tillaten offentleg tilgjengeleg HTTPS-autoritetsrute utan proxykonto kan ei HTTP-adresse frå HTTP-proxylista fylle døme-WebProxyen. Konfigurer proxylegitimasjon på WebProxyen når det trengst.
Fabrikken må vere trådtrygg. Bruk klienten om att i staden for å lage ein i kvart GetHttpClient-kall. MSAL avsluttar ikkje klienten som vert gjeven; eigaren hans styrer den levetida.
Dette styrer HTTP-førespurnadene til MSAL. Interaktiv pålogging kan opne ein nettlesar med eit eige nettverk. Ei fungerande nettlesarpålogging beviser difor ikkje at HTTP-klienten til tokenet har same rute.