Faptul că browserul ajunge la pagina de autentificare a furnizorului de identitate nu dovedește că serverul ASP.NET Core poate prelua metadatele furnizorului sau poate schimba un token. Acele cereri pe server folosesc backchannel-ul OpenID Connect.

Pentru o schemă existentă numită oidc, configurați handlerul acesteia la configurarea serviciilor, înainte de începerea cererilor de autentificare:

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

Înlocuiți oidc cu numele real al schemei înregistrate. Păstrați setările authority, client și de validare a tokenului. Dacă proxy-ul necesită un cont, atașați acreditările dorite la WebProxy.

Verificați dacă aplicația furnizează deja options.Backchannel ca HttpClient complet. Dacă da, configurați direct ruta acelui client: ASP.NET Core folosește BackchannelHttpHandler când își creează backchannel-ul implicit, nu pentru a înlocui un client deja furnizat.

Folosiți cererea de descoperire sau de token eșuată a serverului pentru a evalua această setare. Pentru o rută HTTP publică, lista de proxy HTTP oferă candidați pentru adresa WebProxy. Politica de proxy a browserului și clienții HTTP necorelați au propriile căi de configurare.

Articole similare