Remedierea rutei proxy pe server într-o autentificare OIDC ASP.NET Core
Setați BackchannelHttpHandler pe schema OpenID Connect înregistrată pentru descoperire și cereri de token, cu excepția cazului în care aplicația oferă un client Backchannel complet.
Faptul că browserul ajunge la pagina de autentificare a furnizorului de identitate nu dovedește că serverul ASP.NET Core poate prelua metadatele furnizorului sau poate schimba un token. Acele cereri pe server folosesc backchannel-ul OpenID Connect.
Pentru o schemă existentă numită oidc, configurați handlerul acesteia la configurarea serviciilor, înainte de începerea cererilor de autentificare:
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")
};
});Înlocuiți oidc cu numele real al schemei înregistrate. Păstrați setările authority, client și de validare a tokenului. Dacă proxy-ul necesită un cont, atașați acreditările dorite la WebProxy.
Verificați dacă aplicația furnizează deja options.Backchannel ca HttpClient complet. Dacă da, configurați direct ruta acelui client: ASP.NET Core folosește BackchannelHttpHandler când își creează backchannel-ul implicit, nu pentru a înlocui un client deja furnizat.
Folosiți cererea de descoperire sau de token eșuată a serverului pentru a evalua această setare. Pentru o rută HTTP publică, lista de proxy HTTP oferă candidați pentru adresa WebProxy. Politica de proxy a browserului și clienții HTTP necorelați au propriile căi de configurare.