ASP.NET Core JWT Bearer: ustawianie proxy backchannel metadanych
Użyj BackchannelHttpHandler przed rozpoczęciem pobierania, chyba że pełny klient lub niestandardowy menedżer konfiguracji już posiada ten transport.
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.