MSAL.NET HTTP nəqliyyatını IMsalHttpClientFactory-dən ala bilər. Proxy üçün konfiqurasiya edilmiş müştərini əhatə edin:

sealed class TokenHttpFactory : IMsalHttpClientFactory
{
    private readonly HttpClient client;

    public TokenHttpFactory(HttpClient client)
    {
        this.client = client;
    }

    public HttpClient GetHttpClient() => client;
}

Handler və müştərini tətbiqin ömrü üçün bir dəfə yaradın, sonra fabriki mövcud MSAL qurucu konfiqurasiyası zamanı bağlayın:

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));

Qurucu tətbiqin mövcud MSAL tətbiq qurucusudur; onun səlahiyyətini, müştəri qeydiyyatını və etimadnamə konfiqurasiyasını saxlayın. Proxy hesabı olmayan icazəli, ictimai əlçatan HTTPS səlahiyyət marşrutu üçün HTTP proxy siyahısından bir HTTP ünvanı nümunə WebProxy-ni doldura bilər. Lazım olduqda proxy etimadnamələrini WebProxy-də konfiqurasiya edin.

Fabrik axın-təhlükəsiz olmalıdır. Hər GetHttpClient çağırışında yenisini yaratmaq əvəzinə müştərini təkrar istifadə edin. MSAL verilən müştərini silmir; onun ömrünü sahibi idarə edir.

Bu, MSAL-ın HTTP sorğularını idarə edir. İnteraktiv giriş şəbəkəsi ayrı olan brauzer aça bilər. Buna görə işləyən brauzer girişi token HTTP müştərisinin eyni marşruta malik olduğunu sübut etmir.

Əlaqəli məqalələr