Oprava serverové proxy trasy při přihlášení OIDC v ASP.NET Core
Nastavte BackchannelHttpHandler na registrované schéma OpenID Connect pro požadavky na zjišťování a tokeny, pokud aplikace nedodává kompletního klienta Backchannel.
To, že prohlížeč dosáhne přihlašovací stránky poskytovatele identity, nedokazuje, že server ASP.NET Core dokáže načíst metadata poskytovatele nebo vyměnit token. Tyto požadavky na straně serveru používají zpětný kanál OpenID Connect.
U existujícího schématu s názvem oidc nakonfigurujte jeho obslužnou rutinu při nastavení služeb, dříve než začnou požadavky na ověření:
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 skutečným registrovaným názvem schématu. Zachovejte nastavení authority, klienta a ověřování tokenu. Pokud proxy vyžaduje účet, připojte zamýšlené přihlašovací údaje k WebProxy.
Zkontrolujte, zda aplikace již nedodává options.Backchannel jako kompletní HttpClient. Pokud ano, nakonfigurujte trasu tohoto klienta přímo: ASP.NET Core používá BackchannelHttpHandler při vytváření svého výchozího zpětného kanálu, nikoli k nahrazení již dodaného klienta.
Toto nastavení ověřte pomocí neúspěšného požadavku serveru na zjišťování nebo token. Pro veřejnou trasu HTTP nabízí seznam HTTP proxy kandidáty na adresu WebProxy. Zásady proxy v prohlížeči a nesouvisející klienti HTTP mají vlastní cesty konfigurace.