Ett API kan ta emot en bearer-token och misslyckas när serverns metadata och signeringsnyckel ska hämtas. Konfigurera det JWT bearer-schemat efter den befintliga registreringen och före begärandena:

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

Matcha det registrerade namnet; använd dess faktiska namn i stället för standard-Bearer när det avviker. Behåll Authority, Audience och de befintliga tokenparametrarna. En offentlig slutpunkt för metadata och signeringsnyckel kan använda en kandidat från HTTP-proxylistan för denna WebProxy-URL utan konto när åtkomst via offentliga proxyservrar tillåts.

I standarduppsättningen skapar efterkonfigurationen backchanneln från denna handler. Om en fullständig Backchannel eller anpassad ConfigurationManager redan tillhandahåller hämtaren konfigurerar du det objektet i stället. Handler-egenskapen åsidosätter inte båda.

Ange ett proxykonto på WebProxy före användning, inte genom att ändra Proxy inuti SendAsync. Behåll issuer, audience, signatur, livslängd och ytterligare validerare. OIDC-inloggning och separat tokenhämtning behåller sina egna HTTP-vägar.

Relaterade artiklar