To, że przeglądarka dociera do strony logowania dostawcy tożsamości, nie dowodzi, że serwer ASP.NET Core może pobrać metadane dostawcy lub wymienić token. Te żądania po stronie serwera korzystają z backchannelu OpenID Connect.

Dla istniejącego schematu o nazwie oidc skonfiguruj jego procedurę obsługi podczas konfiguracji usług, zanim zaczną się żądania uwierzytelniania:

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")
        };
});

Zastąp oidc rzeczywistą nazwą zarejestrowanego schematu. Zachowaj ustawienia authority, client i walidacji tokenu. Jeśli proxy wymaga konta, dołącz zamierzone poświadczenia do WebProxy.

Sprawdź, czy aplikacja już dostarcza options.Backchannel jako kompletny HttpClient. Jeśli tak, skonfiguruj trasę tego klienta bezpośrednio: ASP.NET Core używa BackchannelHttpHandler przy tworzeniu domyślnego backchannelu, a nie do zastępowania już dostarczonego klienta.

Oceń to ustawienie na podstawie nieudanego discovery lub żądania tokenu serwera. Dla publicznej trasy HTTP lista proxy HTTP podaje kandydatów na adres WebProxy. Zasady proxy przeglądarki i niepowiązane klienty HTTP mają własne ścieżki konfiguracji.

Powiązane artykuły