MSAL.NET povas akiri sian HTTP-transporton de IMsalHttpClientFactory. Ĉirkaŭvolvu klienton agorditan por la prokuro:

sealed class TokenHttpFactory : IMsalHttpClientFactory
{
    private readonly HttpClient client;

    public TokenHttpFactory(HttpClient client)
    {
        this.client = client;
    }

    public HttpClient GetHttpClient() => client;
}

Kreu la traktilon kaj la klienton unufoje por la vivdaŭro de la aplikaĵo, poste alligu la fabrikon dum la ekzistanta agordo de la MSAL-konstruilo:

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));

La konstruilo estas la ekzistanta MSAL-aplikacia konstruilo de la aplikaĵo; konservu ĝian aŭtoritaton, klientregistradon kaj legitimilan agordon. Por permesita publike atingebla HTTPS-aŭtoritata vojo sen prokura konto, HTTP-adreso el la listo de HTTP-prokuroj povas plenigi la ekzemplan WebProxy. Agordi prokurajn legitimilojn en WebProxy kiam necese.

La fabriko devas esti fadensekura. Reuzu la klienton anstataŭ krei unu en ĉiu GetHttpClient-voko. MSAL ne forigas la provizitan klienton; ĝia posedanto administras tiun vivdaŭron.

Ĉi tio regas la HTTP-petojn de MSAL. Interaga ensaluto povas malfermi retumilon kies reto estas aparta. Do funkcianta retumila ensaluto ne pruvas, ke la tokena HTTP-kliento havas la saman vojon.

Rilataj artikoloj