Uma API pode receber um token bearer e falhar no download dos metadados e da chave de assinatura do servidor. Configure esse esquema JWT bearer após o registro existente e antes das solicitações:

using System.Net;
using Microsoft.AspNetCore.Authentication.JwtBearer;

builder.Services.Configure<JwtBearerOptions>(
    JwtBearerDefaults.AuthenticationScheme, options =>
    {
        options.BackchannelHttpHandler = new HttpClientHandler
        {
            UseProxy = true,
            Proxy = new WebProxy("http://proxy.example:8080")
        };
    });

Combine com o nome registrado; se diferir do Bearer padrão, use o nome real. Preserve Authority, Audience e os parâmetros de token existentes. Um endpoint público de metadados e chave de assinatura pode usar um candidato da lista de proxies HTTP para esta URL de WebProxy sem conta quando o acesso por proxy público é permitido.

Na configuração padrão, a pós-configuração cria o backchannel a partir deste manipulador. Se um Backchannel completo ou um ConfigurationManager personalizado já fornece o recuperador, configure esse objeto em vez disso. A propriedade do manipulador não substitui ambos.

Defina qualquer conta de proxy no WebProxy antes do uso, não alterando Proxy dentro de SendAsync. Preserve issuer, audience, assinatura, validade e validadores adicionais. O login OIDC e a obtenção separada de tokens mantêm seus próprios caminhos HTTP.

Artigos relacionados