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 ক্লায়েন্টের একই রুট আছে।

সম্পর্কিত নিবন্ধ