ASP.NET Core JWT Bearer: definir o proxy de backchannel dos metadados
Use BackchannelHttpHandler antes de a obtenção começar, a menos que um cliente completo ou um gerenciador de configuração personalizado já possua esse transporte.
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.