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 ક્લાયન્ટનો એ જ માર્ગ છે.

સંબંધિત લેખો