Oprava serverovej proxy trasy pri OIDC prihlásení v ASP.NET Core
Nastavte BackchannelHttpHandler v registrovanej schéme OpenID Connect pre zisťovanie a požiadavky na token, ak aplikácia neposkytuje kompletný klient Backchannel.
To, že prehliadač sa dostane na prihlasovaciu stránku poskytovateľa identity, nedokazuje, že server ASP.NET Core dokáže získať metadáta poskytovateľa alebo vymeniť token. Tieto serverové požiadavky používajú backchannel OpenID Connect.
Pre existujúcu schému s názvom oidc nakonfigurujte jej obsluhu pri nastavení služieb, pred začiatkom overovacích požiadaviek:
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")
};
});Nahraďte oidc skutočným názvom registrovanej schémy. Zachovajte nastavenia authority, client a overovania tokenu. Ak proxy vyžaduje účet, pripojte zamýšľané prihlasovacie údaje k WebProxy.
Skontrolujte, či aplikácia už poskytuje options.Backchannel ako kompletný HttpClient. Ak áno, nakonfigurujte trasu tohto klienta priamo: ASP.NET Core používa BackchannelHttpHandler pri vytváraní svojho predvoleného backchannelu, nie na nahradenie už poskytnutého klienta.
Toto nastavenie posúďte podľa neúspešného zisťovania alebo požiadavky na token zo servera. Pre verejnú HTTP trasu zoznam HTTP proxy ponúka kandidátov na adresu WebProxy. Proxy politika prehliadača a nesúvisiace HTTP klienty majú vlastné cesty konfigurácie.