ASP.NET Core OIDC ലോഗിനിലെ സർവർ-സൈഡ് പ്രോക്സി റൂട്ട് ശരിയാക്കുക
രജിസ്റ്റർ ചെയ്ത OpenID Connect സ്കീമിൽ ഡിസ്കവറിക്കും ടോക്കൺ അഭ്യർത്ഥനകൾക്കുമായി BackchannelHttpHandler സജ്ജീകരിക്കുക; ആപ്പ് പൂർണ്ണ Backchannel ക്ലയന്റ് നൽകുന്നില്ലെങ്കിൽ മാത്രം.
ബ്രൗസർ ഐഡന്റിറ്റി പ്രൊവൈഡറുടെ ലോഗിൻ പേജിൽ എത്തുന്നത് ASP.NET Core സർവറിന് പ്രൊവൈഡറുടെ മെറ്റാഡാറ്റ എടുക്കാനോ ടോക്കൺ കൈമാറാനോ കഴിയുമെന്ന് തെളിയിക്കുന്നില്ല. ആ സർവർ അഭ്യർത്ഥനകൾ OpenID Connect backchannel ഉപയോഗിക്കുന്നു.
oidc എന്ന പേരുള്ള നിലവിലുള്ള സ്കീമിന്, ഓതന്റിക്കേഷൻ അഭ്യർത്ഥനകൾ തുടങ്ങുന്നതിന് മുൻപ് സർവീസ് സജ്ജീകരണ വേളയിൽ അതിന്റെ ഹാൻഡ്ലർ കോൺഫിഗർ ചെയ്യുക:
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")
};
});oidc എന്നത് യഥാർത്ഥ രജിസ്റ്റർ ചെയ്ത സ്കീം നാമം കൊണ്ട് മാറ്റുക. authority, client, ടോക്കൺ പരിശോധന ക്രമീകരണങ്ങൾ നിലനിർത്തുക. പ്രോക്സിക്ക് അക്കൗണ്ട് ആവശ്യമെങ്കിൽ ഉദ്ദേശിച്ച ക്രെഡൻഷ്യലുകൾ WebProxy എന്നതിൽ ചേർക്കുക.
ആപ്പ് ഇതിനകം options.Backchannel എന്നത് പൂർണ്ണ HttpClient ആയി നൽകുന്നുണ്ടോ എന്ന് പരിശോധിക്കുക. ഉണ്ടെങ്കിൽ ആ ക്ലയന്റിന്റെ റൂട്ട് നേരിട്ട് കോൺഫിഗർ ചെയ്യുക: ASP.NET Core തന്റെ ഡിഫോൾട്ട് backchannel സൃഷ്ടിക്കുമ്പോൾ BackchannelHttpHandler ഉപയോഗിക്കുന്നു; ഇതിനകം നൽകിയ ക്ലയന്റ് മാറ്റിസ്ഥാപിക്കാനല്ല.
സർവറിന്റെ പരാജയപ്പെട്ട ഡിസ്കവറി അല്ലെങ്കിൽ ടോക്കൺ അഭ്യർത്ഥന ഉപയോഗിച്ച് ഈ ക്രമീകരണം വിലയിരുത്തുക. പൊതു HTTP റൂട്ടിന്, HTTP പ്രോക്സി പട്ടിക WebProxy വിലാസത്തിന് സ്ഥാനാർത്ഥികൾ നൽകുന്നു. ബ്രൗസർ പ്രോക്സി നയത്തിനും ബന്ധമില്ലാത്ത HTTP ക്ലയന്റുകൾക്കും സ്വന്തം കോൺഫിഗറേഷൻ പാതകളുണ്ട്.