Това, че браузърът достига страницата за вход на доставчика на идентичност, не доказва, че сървърът 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 клиенти имат свои собствени пътища за конфигурация.

Подобни статии