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 från Microsoft.IdentityModel.Protocols; OpenIdConnectConfigurationRetriever kommer från dess OpenIdConnect-paket. Håll HTTP-klienten vid liv under hela dess arbetsbelastning. För offentliga discovery- och JWKS-URL:er där offentliga mellanhänder tillåts erbjuder HTTP-proxylistan kandidater för WebProxy-URL:en.

Sökningen hämtar först discovery och använder sedan samma medföljande retriever för jwks_uri när den finns. Dessa URL:er kan ligga på olika värdar, och proxyn måste tillåta båda.

För proxyautentisering konfigurerar du WebProxy-kontot före konstruktionen. Det är inte en klienthemlighet hos utfärdaren.

I en långvarig autentiseringstjänst ger du denna retriever till den stödda cache- och uppdateringsordningen i stället för att ladda ner konfigurationen för varje inkommande begäran. Håll policyn för utfärdare, HTTPS-förtroende och tokenvalidering oberoende av detta transportval.

Relaterade artiklar