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 клијент има исту руту.

Повезани чланци