API môže prijať bearer token a zlyhať pri sťahovaní metadát a podpisového kľúča zo servera. Nastavte túto schému JWT bearer po jej existujúcej registrácii a pred požiadavkami:

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

Zosúlaďte registrovaný názov; ak sa líši od predvoleného Bearer, použite jeho skutočný názov. Zachovajte Authority, Audience a existujúce parametre tokenu. Verejný koncový bod metadát a podpisového kľúča môže pre túto adresu WebProxy bez účtu použiť kandidáta zo zoznamu HTTP proxy, ak je povolený prístup cez verejné proxy.

V štandardnom nastavení vytvára postkonfigurácia backchannel z tohto handlera. Ak úplný Backchannel alebo vlastný ConfigurationManager už poskytuje načítavač, nastavte namiesto toho tento objekt. Vlastnosť handlera neprebíja oboje.

Akýkoľvek proxy účet nastavte na WebProxy pred použitím, nie zmenou Proxy vnútri SendAsync. Zachovajte issuer, audience, podpis, platnosť a ďalšie validátory. Prihlásenie OIDC a samostatné získanie tokenu si zachovávajú vlastné cesty HTTP.

Súvisiace články