var handler = new HttpClientHandler
{
    Proxy = new WebProxy("http://proxy.example:8080"),
    UseProxy = true
};
var http = new HttpClient(handler);
var documents = new HttpDocumentRetriever(http);

var configuration = await OpenIdConnectConfigurationRetriever.GetAsync(
    "https://issuer.example/.well-known/openid-configuration",
    documents,
    cancellationToken);

HttpDocumentRetriever kommer fra Microsoft.IdentityModel.Protocols; OpenIdConnectConfigurationRetriever kommer fra dens OpenIdConnect-pakke. Hold HTTP-klienten i live gjennom hele arbeidsbelastningen. For offentlige discovery- og JWKS-adresser der offentlige mellommenn er tillatt, gir HTTP-proxylisten kandidater for WebProxy-adressen.

Oppslaget henter først discovery og bruker deretter den samme medfølgende retrieveren for jwks_uri når den finnes. Disse adressene kan ligge på ulike verter, og proxyen må tillate begge.

For proxyautentisering konfigurerer du WebProxy-kontoen før konstruksjon. Det er ikke en klienthemmelighet hos utstederen.

I en langvarig autentiseringstjeneste gir du denne retrieveren til den støttede cache- og oppdateringsordningen i stedet for å laste ned konfigurasjonen for hver innkommende forespørsel. Hold utsteder-, HTTPS-tillits- og tokenvalideringsretningslinjer uavhengige av dette transportvalget.

Relaterte artikler