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 অ্যাপ্লিকেশন বিল্ডার; এর authority, ক্লায়েন্ট নিবন্ধন ও ক্রেডেনশিয়াল কনফিগারেশন রাখুন। প্রক্সি অ্যাকাউন্ট ছাড়া অনুমোদিত প্রকাশ্যে পৌঁছানো HTTPS authority রুটের জন্য HTTP প্রক্সি তালিকা থেকে একটি HTTP ঠিকানা উদাহরণ WebProxy পূরণ করতে পারে। প্রয়োজনে WebProxy-তে প্রক্সি ক্রেডেনশিয়াল কনফিগার করুন।
ফ্যাক্টরিটি থ্রেড-নিরাপদ হতে হবে। প্রতিটি GetHttpClient কলের ভিতরে একটি তৈরি করার বদলে ক্লায়েন্টটি পুনরায় ব্যবহার করুন। MSAL সরবরাহ করা ক্লায়েন্টটি ডিসপোজ করে না; এর মালিক সেই জীবনকাল পরিচালনা করে।
এটি MSAL-এর HTTP অনুরোধ নিয়ন্ত্রণ করে। ইন্টারঅ্যাকটিভ সাইন-ইন এমন ব্রাউজার খুলতে পারে যার নেটওয়ার্কিং আলাদা। তাই কাজ করা ব্রাউজার লগইন প্রমাণ করে না যে টোকেন HTTP ক্লায়েন্টের একই রুট আছে।