Il fatto che un browser raggiunga la pagina di accesso del provider di identità non dimostra che il server ASP.NET Core possa recuperare i metadati del provider o scambiare un token. Quelle richieste lato server usano il canale inverso di OpenID Connect.

Per uno schema esistente chiamato oidc, configurate il relativo gestore durante la configurazione dei servizi, prima che inizino le richieste di autenticazione:

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

Sostituite oidc con il nome effettivo dello schema registrato. Mantenete le impostazioni di authority, client e convalida del token. Se il proxy richiede un account, collegate le credenziali previste a WebProxy.

Verificate se l'app fornisce già options.Backchannel come HttpClient completo. In tal caso, configurate direttamente la route di quel client: ASP.NET Core usa BackchannelHttpHandler quando crea il proprio canale inverso predefinito, non per sostituire un client già fornito.

Usate la richiesta di discovery o di token non riuscita del server per valutare questa impostazione. Per una route HTTP pubblica, la lista di proxy HTTP offre candidati per l'indirizzo WebProxy. La policy proxy del browser e i client HTTP non correlati hanno i propri percorsi di configurazione.

Articoli correlati