Το 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 δεν αποδεσμεύει τον παρεχόμενο πελάτη· ο ιδιοκτήτης του διαχειρίζεται αυτή τη διάρκεια ζωής.

Αυτό ελέγχει τα αιτήματα HTTP του MSAL. Η διαδραστική σύνδεση μπορεί να ανοίξει ένα πρόγραμμα περιήγησης του οποίου το δίκτυο είναι ξεχωριστό. Επομένως, μια επιτυχημένη σύνδεση στο πρόγραμμα περιήγησης δεν αποδεικνύει ότι ο πελάτης HTTP του διακριτικού έχει την ίδια διαδρομή.

Σχετικά άρθρα