ASP.NET Core JWT Bearer: sett metadata-backchannel-proxyen
Bruk BackchannelHttpHandler før hentingen begynner, med mindre en komplett klient eller en tilpasset konfigurasjonsbehandler allerede eier den transporten.
En API kan motta et bearer-token og feile på serverens nedlasting av metadata og signeringsnøkkel. Konfigurer det JWT bearer-skjemaet etter den eksisterende registreringen og før forespørslene:
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")
};
});Samsvar med det registrerte navnet; bruk det faktiske navnet i stedet for standard Bearer når det avviker. Behold Authority, Audience og de eksisterende tokenparametrene. Et offentlig endepunkt for metadata og signeringsnøkkel kan bruke en kandidat fra HTTP-proxy-listen for denne WebProxy-URLen uten konto når tilgang via offentlige proxyer er tillatt.
I standardoppsettet oppretter etterkonfigurasjonen backchannelen fra denne handleren. Hvis en komplett Backchannel eller tilpasset ConfigurationManager allerede leverer henteren, konfigurer det objektet i stedet. Handler-egenskapen overstyrer ikke begge.
Angi enhver proxykonto på WebProxy før bruk, ikke ved å endre Proxy inne i SendAsync. Behold issuer, audience, signatur, levetid og ekstra validatorer. OIDC-innlogging og separat tokenhenting beholder sine egne HTTP-stier.