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 клиентінің дәл сол маршрутты пайдаланатынын дәлелдемейді.

Қатысты мақалалар