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 క్లయింట్కు అదే మార్గం ఉందని నిరూపించదు.