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 без облікового запису, коли доступ через публічні проксі дозволено.
У стандартній конфігурації постконфігурація створює backchannel із цього обробника. Якщо повний Backchannel або власний ConfigurationManager уже надає завантажувач, налаштуйте натомість той об'єкт. Властивість обробника не перекриває обидва.
Задавайте будь-який обліковий запис проксі в WebProxy до використання, а не змінюючи Proxy всередині SendAsync. Збережіть issuer, audience, підпис, термін дії та додаткові валідатори. Вхід OIDC і окреме отримання токена зберігають власні HTTP-шляхи.