MSAL.NET kann säin HTTP-Transport vun IMsalHttpClientFactory kréien. Wickelt e Client an, deen fir de Proxy konfiguréiert ass:

sealed class TokenHttpFactory : IMsalHttpClientFactory
{
    private readonly HttpClient client;

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

    public HttpClient GetHttpClient() => client;
}

Erstellt den Handler an de Client eemol fir d'Liewensdauer vun der Applikatioun a befestegt duerno d'Fabrick wärend der existéierender MSAL-Builder-Konfiguratioun:

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

De Builder ass den existéierende MSAL-Applikatiounsbuilder vun der Applikatioun; behält seng Autoritéit, d'Clientregistratioun an d'Konfiguratioun vun den Zertifikaner. Fir eng erlaabte, ëffentlech erreechbar HTTPS-Autoritéitsstreck ouni Proxykont kann eng HTTP-Adress aus der HTTP-Proxy-Lëscht de Beispill-WebProxy fëllen. Konfiguréiert Proxy-Zertifikaner um WebProxy wann néideg.

D'Fabrick muss thread-sécher sinn. Benotzt de Client erëm, amplaz een an all GetHttpClient-Opruff ze bauen. MSAL entsuergt den uginne Client net; säin Eegentümer geréiert déi Liewensdauer.

Dëst kontrolléiert dem MSAL seng HTTP-Ufroen. D'interaktiv Umeldung kann e Browser opmaachen, deem säi Netz getrennt ass. Eng funktionéierend Browserumeldung beweise deemno net, datt den HTTP-Client vum Token déi selwecht Streck huet.

Ähnlech Artikelen