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-шляхи.

Схожі статті