ASP.NET Core JWT Bearer: метаберилиштер үчүн backchannel проксисин орнотуу
Алуу башталганга чейин BackchannelHttpHandler колдонуңуз, эгер толук клиент же ыңгайлаштырылган конфигурация менеджери бул транспортту мурунтан ээлебесе.
API bearer токенин алып, сервердин метаберилиштерин жана кол тамга ачкычын жүктөөдө ийгиликсиз болушу мүмкүн. Ошол JWT bearer схемасын анын учурдагы каттоосунан кийин жана сурамдардан мурун конфигурациялаңыз:
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")
};
});Катталган ат менен дал келтириңиз; демейки Bearerден айырмаланса, анын чыныгы атын колдонуңуз. Authority, Audience жана учурдагы токен параметрлерин сактаңыз. Коомдук метаберилиштер жана кол тамга ачкычынын акыркы чекити коомдук прокси аркылуу кирүүгө уруксат берилгенде, ушул эсепсиз WebProxy URL үчүн HTTP прокси тизмесинен талапкерди колдоно алат.
Стандартты орнотууда post-configuration backchannelди ушул handlerден түзөт. Эгер толук Backchannel же ыңгайлаштырылган ConfigurationManager алуучуну мурунтан камсыз кылса, анын ордуна ошол объектти конфигурациялаңыз. handler касиети экөөнү тең алмаштырбайт.
Каалаган прокси эсебин колдонуудан мурун WebProxyге орнотуңуз, SendAsync ичиндеги Proxyни өзгөртүү менен эмес. issuer, audience, кол тамга, жарактуулук мөөнөтү жана кошумча валидаторлорду сактаңыз. OIDC кирүү жана токенди өзүнчө алуу өздөрүнүн HTTP жолдорун сактайт.