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 ಕ್ಲೈಂಟ್ ಅದೇ ಮಾರ್ಗವನ್ನು ಹೊಂದಿದೆ ಎಂದು ಸಾಬೀತುಪಡಿಸುವುದಿಲ್ಲ.

ಸಂಬಂಧಿತ ಲೇಖನಗಳು