Ayusin ang Server-Side Proxy Route sa OIDC Login ng ASP.NET Core
Itakda ang BackchannelHttpHandler sa nakarehistrong OpenID Connect scheme para sa discovery at mga token request, maliban kung nagbibigay ang app ng kumpletong Backchannel client.
Ang pag-abot ng browser sa login page ng identity provider ay hindi nagpapatunay na ang ASP.NET Core server ay makakakuha ng metadata ng provider o makakapagpalitan ng token. Ang mga server-side request na iyon ay gumagamit ng OpenID Connect backchannel.
Para sa umiiral na scheme na pinangalanang oidc, i-configure ang handler nito habang nagsesetup ng mga serbisyo, bago magsimula ang mga authentication request:
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")
};
});Palitan ang oidc ng aktwal na pangalan ng nakarehistrong scheme. Panatilihin ang mga setting ng authority, client at token validation. Kung nangangailangan ng account ang proxy, ikabit ang nilalayong credentials sa WebProxy.
Tingnan kung nagbibigay na ang app ng options.Backchannel bilang kumpletong HttpClient. Kung oo, i-configure nang direkta ang ruta ng client na iyon: ginagamit ng ASP.NET Core ang BackchannelHttpHandler kapag gumagawa ng default na backchannel, hindi para palitan ang client na naibigay na.
Gamitin ang nabigong discovery o token request ng server para suriin ang setting na ito. Para sa pampublikong HTTP route, ang listahan ng HTTP proxy ay nagbibigay ng mga kandidato para sa WebProxy address. Ang patakaran sa proxy ng browser at mga walang kaugnayang HTTP client ay may sariling mga landas ng configuration.