การที่เบราว์เซอร์ไปถึงหน้าเข้าสู่ระบบของผู้ให้บริการตัวตนไม่ได้พิสูจน์ว่าเซิร์ฟเวอร์ ASP.NET Core ดึงเมทาดาทาของผู้ให้บริการหรือแลกเปลี่ยนโทเค็นได้ คำขอฝั่งเซิร์ฟเวอร์เหล่านั้นใช้ backchannel ของ 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, client และการตรวจสอบโทเค็นไว้ หากพร็อกซีต้องใช้บัญชี ให้แนบข้อมูลรับรองที่ต้องการกับ WebProxy

ตรวจสอบว่าแอปจัดเตรียม options.Backchannel เป็น HttpClient ที่สมบูรณ์อยู่แล้วหรือไม่ หากมี ให้กำหนดค่าเส้นทางของไคลเอนต์นั้นโดยตรง: ASP.NET Core ใช้ BackchannelHttpHandler เมื่อสร้าง backchannel เริ่มต้น ไม่ใช่เพื่อแทนที่ไคลเอนต์ที่จัดเตรียมไว้แล้ว

ใช้การค้นหาหรือคำขอโทเค็นที่ล้มเหลวของเซิร์ฟเวอร์ในการประเมินการตั้งค่านี้ สำหรับเส้นทาง HTTP สาธารณะ รายการพร็อกซี HTTP ให้ผู้สมัครสำหรับที่อยู่ WebProxy นโยบายพร็อกซีของเบราว์เซอร์และไคลเอนต์ HTTP ที่ไม่เกี่ยวข้องมีเส้นทางการกำหนดค่าของตนเอง

บทความที่เกี่ยวข้อง