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 ופרמטרי הטוקן הקיימים. נקודת קצה ציבורית של מטא-נתונים ומפתח חתימה יכולה להשתמש במועמד מתוך רשימת פרוקסי HTTP עבור כתובת WebProxy זו ללא חשבון כאשר גישה דרך פרוקסי ציבורי מותרת.
בתצורה הסטנדרטית, תצורת-הבת יוצרת את ה-backchannel מה-handler הזה. אם Backchannel מלא או ConfigurationManager מותאם כבר מספק את האחזור, הגדירו את האובייקט הזה במקום. מאפיין ה-handler אינו מחליף את שניהם.
הגדירו כל חשבון פרוקסי על WebProxy לפני השימוש, ולא על ידי שינוי Proxy בתוך SendAsync. שמרו על issuer, audience, חתימה, תוקף ומאמתים נוספים. התחברות OIDC וקבלת טוקן נפרדת שומרות על נתיבי ה-HTTP שלהן.