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-прокси для этого URL WebProxy без учётной записи, когда доступ через публичные прокси разрешён.
В стандартной конфигурации пост-конфигурация создаёт backchannel из этого обработчика. Если полный Backchannel или собственный ConfigurationManager уже предоставляет загрузчик, настройте вместо него этот объект. Свойство обработчика не переопределяет оба.
Задавайте любую учётную запись прокси в WebProxy до использования, а не меняя Proxy внутри SendAsync. Сохраните issuer, audience, подпись, срок действия и дополнительные валидаторы. Вход OIDC и отдельное получение токена сохраняют собственные HTTP-пути.