MSAL.NET-ийг дахин ашиглах боломжтой прокси клиентээр хангах
Хуваалцсан прокси мэддэг HttpClient-ийн эргэн тойронд IMsalHttpClientFactory-г хэрэгжүүлж, MSAL програмын бүтээгчтэй холбоно уу.
MSAL.NET нь HTTP тээвэрээ IMsalHttpClientFactory-ээс авах боломжтой. Проксид зориулж тохируулсан клиентийг боож өгнө үү:
sealed class TokenHttpFactory : IMsalHttpClientFactory
{
private readonly HttpClient client;
public TokenHttpFactory(HttpClient client)
{
this.client = client;
}
public HttpClient GetHttpClient() => client;
}Апп-ын амьдралын туршид зохицуулагч болон клиентийг нэг удаа үүсгээд, дараа нь одоо байгаа MSAL бүтээгчийн тохиргооны үеэр үйлдвэрийг холбоно уу:
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));Бүтээгч нь апп-ын одоо байгаа MSAL програмын бүтээгч юм; түүний эрх мэдэл, клиентийн бүртгэл, итгэмжлэлийн тохиргоог хадгална уу. Прокси бүртгэлгүйгээр зөвшөөрөгдсөн нийтэд хүрэх боломжтой HTTPS эрх мэдлийн замд HTTP прокси жагсаалтаас авсан HTTP хаяг жишээний WebProxy-г дүүргэж болно. Шаардлагатай бол WebProxy дээр прокси итгэмжлэлийг тохируулна уу.
Үйлдвэр нь урсгалд аюулгүй байх ёстой. GetHttpClient дуудлага бүрт шинийг үүсгэхийн оронд клиентийг дахин ашиглана уу. MSAL өгсөн клиентийг устгахгүй; эзэмшигч нь тэр амьдралыг удирддаг.
Энэ нь MSAL-ийн HTTP хүсэлтийг удирддаг. Интерактив нэвтрэлт нь сүлжээ нь тусдаа браузер нээж болно. Тиймээс браузер дахь амжилттай нэвтрэлт нь токены HTTP клиент ижил замыг ашиглаж байгааг батлахгүй.