Jou MSAL.NET in werbrûkbere proxy-klant
Ymplementearje IMsalHttpClientFactory om in mienskiplike proxy-bewuste HttpClient hinne en fêstigje dy oan de MSAL-applikaasjebouwer.
MSAL.NET kin syn HTTP-transport fan IMsalHttpClientFactory krije. Wikkelje in klant yn dy't foar de proxy konfigurearre is:
sealed class TokenHttpFactory : IMsalHttpClientFactory
{
private readonly HttpClient client;
public TokenHttpFactory(HttpClient client)
{
this.client = client;
}
public HttpClient GetHttpClient() => client;
}Meitsje de handler en de klant ien kear foar de libbensdoer fan de applikaasje, en fêstigje dan de fabryk by de besteande MSAL-bouwerkonfiguraasje:
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));De bouwer is de besteande MSAL-applikaasjebouwer fan de applikaasje; behâld syn autoriteit, kliïntregistraasje en legitimasaasjekonfiguraasje. Foar in tastiene, iepenbier berikbere HTTPS-autoriteitsrûte sûnder proxy-account kin in HTTP-adres út de HTTP-proxylist de foarbyld-WebProxy folje. Konfigurearje proxy-legitimaasjes op de WebProxy as dat nedich is.
De fabryk moat threadfeilich wêze. Werbrûk de klant ynstee fan ien te meitsjen yn elke GetHttpClient-oprop. MSAL ferwideret de levere klant net; syn eigner beheart dy libbensdoer.
Dit regelet de HTTP-fersiken fan MSAL. Ynteraktive oanmelding kin in browser iepenje wêrfan it netwurk apart is. In wurkjende browser-oanmelding bewiist dus net dat de HTTP-klant fan it token deselde rûte hat.