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.

Sorodni članki