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 gennem hele dens arbejdsbyrde. Til offentlige discovery- og JWKS-adresser, hvor offentlige mellemled er tilladt, giver HTTP-proxylisten kandidater til WebProxy-adressen.

Opslaget henter først discovery og bruger derefter den samme leverede retriever til jwks_uri, når den findes. Disse adresser kan ligge på forskellige værter, og proxyen skal tillade begge.

Til proxygodkendelse skal du konfigurere WebProxy-kontoen før konstruktion. Det er ikke en klienthemmelighed hos udstederen.

I en langvarig godkendelsestjeneste skal du give denne retriever til den understøttede cache- og opdateringsordning i stedet for at hente konfigurationen for hver indgående anmodning. Hold udsteder-, HTTPS-tillids- og tokenvalideringspolitik uafhængig af dette transportvalg.

Relaterede artikler