MSAL.NET oskrbite s klientom proxyja za večkratno uporabo
Izvedite IMsalHttpClientFactory okoli skupnega HttpClient, ki pozna proxy, in ga pritrdite na graditelja aplikacije MSAL.
MSAL.NET lahko svoj transport HTTP dobi od IMsalHttpClientFactory. Ovijte odjemalca, nastavljenega za proxy:
sealed class TokenHttpFactory : IMsalHttpClientFactory
{
private readonly HttpClient client;
public TokenHttpFactory(HttpClient client)
{
this.client = client;
}
public HttpClient GetHttpClient() => client;
}Ustvarite obdelovalca in odjemalca enkrat za življenjsko dobo aplikacije, nato med obstoječo konfiguracijo graditelja MSAL pritrdite tovarno:
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 obstoječi graditelj aplikacije MSAL; ohranite njegovo pooblastilo, registracijo odjemalca in konfiguracijo poverilnic. Za dovoljeno javno dostopno pot pooblastila HTTPS brez računa proxy lahko naslov HTTP s seznama proxyjev HTTP zapolni primer WebProxy. Po potrebi konfigurirajte poverilnice proxy na WebProxy.
Tovarna mora biti varna za niti. Odjemalca uporabite znova, namesto da bi ga ustvarili v vsakem klicu GetHttpClient. MSAL dobavljenega odjemalca ne zavrže; njegov lastnik upravlja to življenjsko dobo.
To nadzoruje zahteve HTTP sistema MSAL. Interaktivna prijava lahko odpre brskalnik, katerega omrežje je ločeno. Zato uspešna prijava v brskalniku ne dokazuje, da ima odjemalec HTTP žetona isto pot.