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-пути.

Похожие статьи