Rett opp serverproxy-ruten i en ASP.NET Core OIDC-innlogging
Sett BackchannelHttpHandler på det registrerte OpenID Connect-skjemaet for discovery og tokenforespørsler, med mindre appen leverer en komplett Backchannel-klient.
At en nettleser når identitetsleverandørens innloggingsside, beviser ikke at ASP.NET Core-serveren kan hente leverandørens metadata eller veksle inn et token. Disse serverforespørslene bruker OpenID Connect-backkanalen.
For et eksisterende skjema med navnet oidc, konfigurer behandleren under tjenesteoppsettet, før autentiseringsforespørsler starter:
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")
};
});Erstatt oidc med det faktiske navnet på det registrerte skjemaet. Behold innstillingene for authority, client og tokenvalidering. Hvis proxyen krever en konto, knytt de tiltenkte legitimasjonene til WebProxy.
Sjekk om appen allerede leverer options.Backchannel som en komplett HttpClient. Hvis den gjør det, konfigurer ruten til den klienten direkte: ASP.NET Core bruker BackchannelHttpHandler når den oppretter sin standard backkanal, ikke for å erstatte en klient som allerede er levert.
Bruk serverens mislykkede discovery- eller tokenforespørsel til å vurdere denne innstillingen. For en offentlig HTTP-rute gir HTTP-proxylisten kandidater for WebProxy-adressen. Nettleserens proxy-policy og urelaterte HTTP-klienter har egne konfigurasjonsveier.