Ispravka serverske proxy rute pri OIDC prijavi u ASP.NET Core
Postavite BackchannelHttpHandler na registrovanu OpenID Connect šemu za otkrivanje i zahteve za token, osim ako aplikacija obezbeđuje kompletan Backchannel klijent.
To što pregledač stigne do stranice za prijavu dobavljača identiteta ne dokazuje da ASP.NET Core server može da preuzme metapodatke dobavljača ili razmeni token. Ti serverski zahtevi koriste OpenID Connect backchannel.
Za postojeću šemu pod nazivom oidc, konfigurišite njen rukovalac tokom podešavanja servisa, pre nego što počnu zahtevi za autentifikaciju:
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")
};
});Zamenite oidc stvarnim imenom registrovane šeme. Zadržite podešavanja authority, client i validacije tokena. Ako proxy zahteva nalog, priložite predviđene akreditive na WebProxy.
Proverite da li aplikacija već obezbeđuje options.Backchannel kao kompletan HttpClient. Ako da, konfigurišite rutu tog klijenta direktno: ASP.NET Core koristi BackchannelHttpHandler kada pravi svoj podrazumevani backchannel, a ne da zameni već obezbeđen klijent.
Procenite ovo podešavanje prema neuspelom otkrivanju ili zahtevu za token na serveru. Za javnu HTTP rutu, lista HTTP proxyja daje kandidate za WebProxy adresu. Politika proxyja pregledača i nepovezani HTTP klijenti imaju sopstvene putanje konfiguracije.