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 क्लायंटचा तोच मार्ग आहे.

संबंधित लेख