תיקון נתיב הפרוקסי בצד השרת בכניסה ל-OIDC ב-ASP.NET Core
הגדירו BackchannelHttpHandler בסכימת OpenID Connect הרשומה עבור בקשות גילוי ואסימון, אלא אם האפליקציה מספקת לקוח Backchannel מלא.
העובדה שדפדפן מגיע לדף הכניסה של ספק הזהות אינה מוכיחה ששרת ASP.NET Core יכול לאחזר את המטא-נתונים של הספק או להחליף אסימון. הבקשות האלה בצד השרת משתמשות בערוץ האחורי של OpenID Connect.
עבור סכימה קיימת בשם oidc, הגדירו את המטפל שלה במהלך הגדרת השירותים, לפני שבקשות האימות מתחילות:
services.Configure<Microsoft.AspNetCore.Authentication.OpenIdConnect
.OpenIdConnectOptions>("oidc", options =>
{
options.BackchannelHttpHandler =
new System.Net.Http.HttpClientHandler
{
UseProxy = true,
Proxy = new System.Net.WebProxy(
"http://proxy.example.net:8080")
};
});החליפו את oidc בשם הסכימה הרשום בפועל. שמרו על הגדרות authority, הלקוח ואימות האסימון. אם הפרוקסי דורש חשבון, צרפו את פרטי הכניסה המיועדים אל WebProxy.
בדקו אם האפליקציה כבר מספקת options.Backchannel כHttpClient מלא. אם כן, הגדירו את הנתיב של אותו לקוח ישירות: ASP.NET Core משתמש בBackchannelHttpHandler בעת יצירת הערוץ האחורי המוגדר כברירת מחדל, ולא כדי להחליף לקוח שכבר סופק.
השתמשו בבקשת הגילוי או האסימון שנכשלה בשרת כדי להעריך הגדרה זו. עבור נתיב HTTP ציבורי, רשימת פרוקסי ה-HTTP מציעה מועמדים לכתובת WebProxy. למדיניות הפרוקסי של הדפדפן וללקוחות HTTP לא קשורים יש נתיבי הגדרה משלהם.