Поправка на рутата на серверскиот прокси при OIDC најава во ASP.NET Core
Поставете BackchannelHttpHandler на регистрираната OpenID Connect шема за откривање и барања за токени, освен ако апликацијата не обезбедува целосен Backchannel клиент.
Тоа што прелистувачот ја достигнува страницата за најава на давателот на идентитет не докажува дека ASP.NET Core серверот може да ги преземе метаподатоците на давателот или да размени токен. Тие серверски барања го користат OpenID Connect backchannel.
За постоечка шема со име 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 клиенти имаат свои патеки за конфигурација.