ASP.NET Core JWT Bearer: configurar el proxy de backchannel de metadatos
Use BackchannelHttpHandler antes de que empiece la recuperación, a menos que un cliente completo o un administrador de configuración personalizado ya posea ese transporte.
Una API puede recibir un token de portador y fallar en la descarga de metadatos y clave de firma del servidor. Configure ese esquema JWT bearer después de su registro existente y antes de las solicitudes:
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")
};
});Coincida con el nombre registrado; si difiere del Bearer predeterminado, use su nombre real. Conserve Authority, Audience y los parámetros de token existentes. Un punto de conexión público de metadatos y clave de firma puede usar un candidato de la lista de proxies HTTP para esta URL de WebProxy sin cuenta cuando se permite el acceso mediante proxy público.
En la configuración estándar, la posconfiguración crea el backchannel a partir de este controlador. Si un Backchannel completo o un ConfigurationManager personalizado ya proporciona el recuperador, configure ese objeto en su lugar. La propiedad del controlador no reemplaza a ambos.
Establezca cualquier cuenta de proxy en WebProxy antes de usarla, no cambiando Proxy dentro de SendAsync. Conserve issuer, audience, firma, vigencia y validadores adicionales. El inicio de sesión OIDC y la obtención separada de tokens mantienen sus propias rutas HTTP.