Anna MSAL.NETille uudelleenkäytettävä välityspalvelinklientti
Toteuta IMsalHttpClientFactory jaetun välityspalvelimen tuntevan HttpClientin ympärille ja liitä se MSAL-sovelluksen rakentajaan.
MSAL.NET voi hankkia HTTP-siirtonsa IMsalHttpClientFactorysta. Kääri välityspalvelimelle määritetty asiakas:
sealed class TokenHttpFactory : IMsalHttpClientFactory
{
private readonly HttpClient client;
public TokenHttpFactory(HttpClient client)
{
this.client = client;
}
public HttpClient GetHttpClient() => client;
}Luo käsittelijä ja asiakas kerran sovelluksen eliniäksi ja liitä tehdas sitten olemassa olevan MSAL-rakentajan määrityksen yhteydessä:
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));Rakentaja on sovelluksen olemassa oleva MSAL-sovelluksen rakentaja; säilytä sen valtuus, asiakasrekisteröinti ja tunnistetietojen määritys. Sallitulle julkisesti saavutettavalle HTTPS-valtuusreitille ilman välityspalvelintiliä HTTP-osoite HTTP-välityspalvelinluettelosta voi täyttää esimerkin WebProxyn. Määritä välityspalvelimen tunnistetiedot WebProxyyn tarvittaessa.
Tehtaan on oltava säikeenkestävä. Käytä asiakasta uudelleen sen sijaan, että loisit sellaisen joka GetHttpClient-kutsussa. MSAL ei hävitä annettua asiakasta; sen omistaja hallitsee tätä elinikää.
Tämä ohjaa MSALin HTTP-pyyntöjä. Interaktiivinen kirjautuminen voi avata selaimen, jonka verkko on erillinen. Toimiva selainkirjautuminen ei siis todista, että tokenin HTTP-asiakas kulkee samaa reittiä.