Един 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 пътища.

Подобни статии