MSAL.NET gali gauti savo HTTP transportą iš IMsalHttpClientFactory. Apvyniokite klientą, sukonfigūruotą tarpiniam serveriui:

sealed class TokenHttpFactory : IMsalHttpClientFactory
{
    private readonly HttpClient client;

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

    public HttpClient GetHttpClient() => client;
}

Sukurkite apdorotuvą ir klientą vieną kartą visam programos gyvavimo laikui, tada prijunkite gamyklą esamos MSAL kūrėjo konfigūracijos metu:

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

Kūrėjas yra esamas programos MSAL programos kūrėjas; išsaugokite jo įgaliojimą, kliento registraciją ir kredencialų konfigūraciją. Leidžiamam viešai pasiekiamam HTTPS įgaliojimo maršrutui be tarpinio serverio paskyros HTTP adresas iš HTTP tarpinių serverių sąrašo gali užpildyti pavyzdinį WebProxy. Priregistruokite tarpinio serverio kredencialus WebProxy, kai reikia.

Gamykla turi būti saugi gijoms. Naudokite klientą iš naujo, o ne kurkite jį kiekviename GetHttpClient kvietime. MSAL neatlaisvina pateikto kliento; jo savininkas valdo tą gyvavimo laiką.

Tai valdo MSAL HTTP užklausas. Interaktyvus prisijungimas gali atidaryti naršyklę, kurios tinklas yra atskiras. Todėl veikiantis prisijungimas naršyklėje neįrodo, kad prieigos rakto HTTP klientas naudoja tą patį maršrutą.

Susiję straipsniai