Bekalkan MSAL.NET dengan klien proksi yang boleh diguna semula
Laksanakan IMsalHttpClientFactory di sekeliling HttpClient kongsi yang sedar proksi dan lampirkan pada pembina aplikasi MSAL.
MSAL.NET boleh mendapatkan pengangkutan HTTPnya daripada IMsalHttpClientFactory. Balut klien yang dikonfigurasi untuk proksi:
sealed class TokenHttpFactory : IMsalHttpClientFactory
{
private readonly HttpClient client;
public TokenHttpFactory(HttpClient client)
{
this.client = client;
}
public HttpClient GetHttpClient() => client;
}Cipta pengendali dan klien sekali untuk jangka hayat aplikasi, kemudian lampirkan kilang semasa konfigurasi pembina MSAL sedia ada:
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));Pembina ialah pembina aplikasi MSAL sedia ada aplikasi; kekalkan autoriti, pendaftaran klien dan konfigurasi kelayakannya. Untuk laluan autoriti HTTPS yang dibenarkan dan boleh dicapai secara awam tanpa akaun proksi, alamat HTTP daripada senarai proksi HTTP boleh mengisi WebProxy contoh. Konfigurasikan kelayakan proksi pada WebProxy apabila perlu.
Kilang mesti selamat benang. Guna semula klien dan bukan mencipta satu dalam setiap panggilan GetHttpClient. MSAL tidak melupuskan klien yang dibekalkan; pemiliknya menguruskan jangka hayat itu.
Ini mengawal permintaan HTTP MSAL. Log masuk interaktif boleh membuka pelayar yang rangkaiannya berasingan. Oleh itu, log masuk pelayar yang berjaya tidak membuktikan bahawa klien HTTP token mempunyai laluan yang sama.