ASP.NET Core JWT Bearer: metaduomenų backchannel tarpinio serverio nustatymas
Naudokite BackchannelHttpHandler prieš pradedant gavimą, nebent visas klientas ar pasirinktinis konfigūracijos tvarkytuvas jau valdo tą transportą.
API gali gauti bearer tokeną ir nepavykti atsisiunčiant serverio metaduomenis bei pasirašymo raktą. Nustatykite tą JWT bearer schemą po jos esamos registracijos ir prieš užklausas:
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")
};
});Suderinkite registruotą pavadinimą; jei jis skiriasi nuo numatytojo Bearer, naudokite tikrąjį jo pavadinimą. Išsaugokite Authority, Audience ir esamus tokeno parametrus. Viešas metaduomenų ir pasirašymo rakto galinis taškas gali naudoti kandidatą iš HTTP tarpinių serverių sąrašo šiam be paskyros WebProxy URL, kai leidžiama prieiga per viešą tarpinį serverį.
Standartinėje sąrankoje postkonfigūracija sukuria backchannel iš šio handler. Jei visas Backchannel ar pasirinktinis ConfigurationManager jau teikia gavėją, sukonfigūruokite tą objektą. Handler savybė nepakeičia abiejų.
Bet kurią tarpinio serverio paskyrą nustatykite WebProxy prieš naudodami, o ne keisdami Proxy SendAsync viduje. Išsaugokite issuer, audience, parašą, galiojimo laiką ir papildomus validatorius. OIDC prisijungimas ir atskiras tokeno gavimas išlaiko savo HTTP kelius.