Interfejs API może odebrać token bearer i ponieść porażkę podczas pobierania metadanych i klucza podpisywania serwera. Skonfiguruj ten schemat JWT bearer po jego istniejącej rejestracji i przed żądaniami:

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")
        };
    });

Dopasuj zarejestrowaną nazwę; jeśli różni się od domyślnego Bearer, użyj jej rzeczywistej nazwy. Zachowaj Authority, Audience i istniejące parametry tokenu. Publiczny punkt końcowy metadanych i klucza podpisywania może użyć kandydata z listy proxy HTTP dla tego adresu WebProxy bez konta, gdy dozwolony jest dostęp przez publiczne proxy.

W standardowej konfiguracji konfiguracja po rejestracji tworzy backchannel z tego programu obsługi. Jeśli pełny Backchannel lub niestandardowy ConfigurationManager już dostarcza moduł pobierający, skonfiguruj zamiast tego ten obiekt. Właściwość programu obsługi nie zastępuje obu.

Ustaw dowolne konto proxy w WebProxy przed użyciem, a nie przez zmianę Proxy wewnątrz SendAsync. Zachowaj issuer, audience, podpis, czas życia i dodatkowe walidatory. Logowanie OIDC i osobne pozyskiwanie tokenu zachowują własne ścieżki HTTP.

Powiązane artykuły