MSAL.NET-ті қайта пайдалануға болатын прокси клиентімен қамтамасыз етіңіз
IMsalHttpClientFactory-ді ортақ проксиді танитын HttpClient айналасында іске асырып, оны 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 клиентінің дәл сол маршрутты пайдаланатынын дәлелдемейді.