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 prové de Microsoft.IdentityModel.Protocols; OpenIdConnectConfigurationRetriever prové del seu paquet OpenIdConnect. Mantingueu viu el client HTTP durant la seva càrrega de treball. Per a URL públiques de discovery i JWKS on es permeten intermediaris públics, la llista de proxys HTTP ofereix candidats per a l'URL de WebProxy.

La cerca obté primer el discovery i després fa servir el mateix retriever subministrat per a jwks_uri, quan hi és. Aquestes URL poden tenir amfitrions diferents i el proxy ha de permetre tots dos.

Per a l'autenticació del proxy, configureu el compte de WebProxy abans de construir-lo. No és un secret de client de l'emissor.

En un servei d'autenticació de llarga durada, proporcioneu aquest retriever al mecanisme de memòria cau i actualització suportat en lloc de descarregar la configuració a cada sol·licitud entrant. Mantingueu la política d'emissor, confiança HTTPS i validació de testimonis independent d'aquesta selecció de transport.

Articles relacionats