MSAL.NET mat engem erëmbenotzbare Proxy-Client versuergen
Implementéiert IMsalHttpClientFactory ronderëm en gemeinsamen proxy-bewossten HttpClient a befestegt en un de MSAL-Applikatiounsbuilder.
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.