ASP.NET Core JWT Bearer: nastavení backchannel proxy pro metadata
Použijte BackchannelHttpHandler před zahájením načítání, pokud úplný klient nebo vlastní správce konfigurace již tento transport nevlastní.
API může přijmout bearer token a selhat při stahování metadat a podpisového klíče ze serveru. Nastavte toto schéma JWT bearer po jeho stávající registraci a před požadavky:
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")
};
});Sladujte registrovaný název; liší-li se od výchozího Bearer, použijte jeho skutečný název. Zachovejte Authority, Audience a stávající parametry tokenu. Veřejný koncový bod metadat a podpisového klíče může pro tuto adresu WebProxy bez účtu použít kandidáta ze seznamu HTTP proxy, je-li povolen přístup přes veřejné proxy.
Ve standardním nastavení vytváří postkonfigurace backchannel z tohoto handleru. Pokud úplný Backchannel nebo vlastní ConfigurationManager již poskytuje načítač, nastavte místo toho tento objekt. Vlastnost handleru nepřebíjí obojí.
Jakýkoli proxy účet nastavte na WebProxy před použitím, nikoli změnou Proxy uvnitř SendAsync. Zachovejte issuer, audience, podpis, dobu platnosti a další validátory. Přihlášení OIDC a samostatné získání tokenu si zachovávají vlastní cesty HTTP.