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 ക്ലയന്റിന് അതേ റൂട്ട് ഉണ്ടെന്ന് തെളിയിക്കുന്നില്ല.

അനുബന്ധ ലേഖനങ്ങൾ