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 vem de Microsoft.IdentityModel.Protocols; OpenIdConnectConfigurationRetriever vem do respetivo pacote OpenIdConnect. Mantenha o cliente HTTP ativo durante toda a sua carga de trabalho. Para URLs públicas de discovery e JWKS onde intermediários públicos são permitidos, a lista de proxies HTTP oferece candidatos para o URL do WebProxy.

A pesquisa obtém primeiro o discovery e depois usa o mesmo retriever fornecido para jwks_uri, quando presente. Esses URL podem estar em anfitriões diferentes, e o proxy deve permitir ambos.

Para autenticação no proxy, configure a conta de WebProxy antes da construção. Não é um segredo de cliente do emissor.

Num serviço de autenticação de longa duração, entregue este retriever ao mecanismo de cache e atualização suportado em vez de descarregar a configuração em cada pedido recebido. Mantenha a política de emissor, confiança HTTPS e validação de tokens independente desta escolha de transporte.

Artigos relacionados