ASP.NET Core JWT Bearer: настройка на backchannel прокси за метаданни
Използвайте BackchannelHttpHandler преди началото на извличането, освен ако пълен клиент или собствен мениджър на конфигурацията вече притежава този транспорт.
Един API може да получи bearer токен и да се провали при изтеглянето на метаданните и ключа за подпис от сървъра. Настройте тази JWT bearer схема след съществуващата ѝ регистрация и преди заявките:
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")
};
});Съпоставете регистрираното име; ако е различно от подразбиращото се Bearer, използвайте действителното име. Запазете Authority, Audience и съществуващите параметри на токена. Публична крайна точка за метаданни и ключ за подпис може да използва кандидат от списъка с HTTP прокси за този WebProxy URL без акаунт, когато достъпът през публични прокси е разрешен.
При стандартната настройка post-configuration създава backchannel от този handler. Ако пълен Backchannel или собствен ConfigurationManager вече предоставя извлекателя, настройте вместо това този обект. Свойството на handler не замества и двете.
Задавайте всеки прокси акаунт в WebProxy преди употреба, а не чрез промяна на Proxy в SendAsync. Запазете issuer, audience, подпис, срок на валидност и допълнителни валидатори. Входът OIDC и отделното получаване на токен запазват своите HTTP пътища.