MSAL.NET ni qayta ishlatiladigan proksi klienti bilan taʼminlang
IMsalHttpClientFactory ni umumiy proksini taniydigan HttpClient atrofida joriy qiling va uni MSAL ilova quruvchisiga ulang.
MSAL.NET HTTP transportini IMsalHttpClientFactory dan olishi mumkin. Proksi uchun konfiguratsiya qilingan klientni oʻrang:
sealed class TokenHttpFactory : IMsalHttpClientFactory
{
private readonly HttpClient client;
public TokenHttpFactory(HttpClient client)
{
this.client = client;
}
public HttpClient GetHttpClient() => client;
}Ishlovchini va klientni ilova umri davomida bir marta yarating, soʻngra fabrikani mavjud MSAL quruvchi konfiguratsiyasi paytida ulang:
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));Quruvchi — ilovaning mavjud MSAL ilova quruvchisi; uning vakolati, klient roʻyxatga olinishi va hisob maʼlumotlari konfiguratsiyasini saqlang. Proksi hisobisiz ruxsat etilgan, ommaviy ochiq HTTPS vakolat yoʻli uchun HTTP proksi roʻyxatidan olingan HTTP manzil namunadagi WebProxy ni toʻldirishi mumkin. Zarur boʻlganda WebProxy da proksi hisob maʼlumotlarini sozlang.
Fabrika oqimga xavfsiz boʻlishi kerak. Har bir GetHttpClient chaqiruvida yangisini yaratish oʻrniga klientni qayta ishlating. MSAL berilgan klientni yoʻq qilmaydi; uning egasi bu umrni boshqaradi.
Bu MSAL ning HTTP soʻrovlarini boshqaradi. Interaktiv kirish tarmogʻi alohida boʻlgan brauzerni ochishi mumkin. Shuning uchun brauzerda muvaffaqiyatli kirish token HTTP klienti bir xil yoʻldan yurishini isbotlamaydi.