Provizi MSAL.NET per reuzebla prokura kliento
Realigu IMsalHttpClientFactory ĉirkaŭ komuna prokurkonscia HttpClient kaj alligu ĝin al la MSAL-aplikacia konstruilo.
MSAL.NET povas akiri sian HTTP-transporton de IMsalHttpClientFactory. Ĉirkaŭvolvu klienton agorditan por la prokuro:
sealed class TokenHttpFactory : IMsalHttpClientFactory
{
private readonly HttpClient client;
public TokenHttpFactory(HttpClient client)
{
this.client = client;
}
public HttpClient GetHttpClient() => client;
}Kreu la traktilon kaj la klienton unufoje por la vivdaŭro de la aplikaĵo, poste alligu la fabrikon dum la ekzistanta agordo de la MSAL-konstruilo:
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));La konstruilo estas la ekzistanta MSAL-aplikacia konstruilo de la aplikaĵo; konservu ĝian aŭtoritaton, klientregistradon kaj legitimilan agordon. Por permesita publike atingebla HTTPS-aŭtoritata vojo sen prokura konto, HTTP-adreso el la listo de HTTP-prokuroj povas plenigi la ekzemplan WebProxy. Agordi prokurajn legitimilojn en WebProxy kiam necese.
La fabriko devas esti fadensekura. Reuzu la klienton anstataŭ krei unu en ĉiu GetHttpClient-voko. MSAL ne forigas la provizitan klienton; ĝia posedanto administras tiun vivdaŭron.
Ĉi tio regas la HTTP-petojn de MSAL. Interaga ensaluto povas malfermi retumilon kies reto estas aparta. Do funkcianta retumila ensaluto ne pruvas, ke la tokena HTTP-kliento havas la saman vojon.