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 بدون حساب، وقتی دسترسی از طریق پروکسی عمومی مجاز است، از نامزدی در فهرست پروکسی HTTP استفاده کند.
در پیکربندی استاندارد، پیکربندی پسین backchannel را از این handler میسازد. اگر Backchannel کامل یا ConfigurationManager سفارشی از قبل واکشیکننده را تأمین میکند، بهجای آن همان شیء را پیکربندی کنید. ویژگی handler هر دو را بازنویسی نمیکند.
هر حساب پروکسی را پیش از استفاده روی WebProxy تنظیم کنید، نه با تغییر Proxy درون SendAsync. issuer، audience، امضا، مدت اعتبار و اعتبارسنجهای افزوده را حفظ کنید. ورود OIDC و دریافت جداگانه توکن مسیرهای HTTP خود را نگه میدارند.