Popravek strežniške proxy poti pri prijavi OIDC v ASP.NET Core
Nastavite BackchannelHttpHandler v registrirani shemi OpenID Connect za odkrivanje in zahteve za žeton, razen če aplikacija zagotavlja popolnega odjemalca Backchannel.
To, da brskalnik doseže prijavno stran ponudnika identitete, ne dokazuje, da lahko strežnik ASP.NET Core pridobi metapodatke ponudnika ali izmenja žeton. Te strežniške zahteve uporabljajo backchannel OpenID Connect.
Za obstoječo shemo z imenom oidc nastavite njen upravljalnik med nastavljanjem storitev, preden se začnejo zahteve za preverjanje pristnosti:
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")
};
});Zamenjajte oidc z dejanskim imenom registrirane sheme. Ohranite nastavitve authority, client in preverjanja žetona. Če proxy zahteva račun, pritrdite predvidene poverilnice na WebProxy.
Preverite, ali aplikacija že zagotavlja options.Backchannel kot popolnega HttpClient. Če ga, nastavite pot tega odjemalca neposredno: ASP.NET Core uporabi BackchannelHttpHandler pri ustvarjanju privzetega backchannela, ne za zamenjavo že zagotovljenega odjemalca.
To nastavitev ocenite z neuspešnim odkrivanjem ali zahtevo za žeton na strežniku. Za javno pot HTTP seznam proxyjev HTTP ponuja kandidate za naslov WebProxy. Proxy politika brskalnika in nepovezani odjemalci HTTP imajo svoje poti konfiguracije.