ASP.NET Core JWT Bearer: മെറ്റാഡാറ്റ backchannel പ്രോക്സി സജ്ജീകരിക്കുക
വീണ്ടെടുക്കൽ തുടങ്ങുന്നതിന് മുമ്പ് BackchannelHttpHandler ഉപയോഗിക്കുക, പൂർണ്ണ ക്ലയന്റോ ഇഷ്ടാനുസൃത കോൺഫിഗറേഷൻ മാനേജറോ ആ ട്രാൻസ്പോർട്ട് ഇതിനകം കൈവശം വെച്ചിട്ടില്ലെങ്കിൽ.
ഒരു API bearer ടോക്കൺ സ്വീകരിച്ച് സെർവറിന്റെ മെറ്റാഡാറ്റയും സിഗ്നിംഗ് കീയും ഡൗൺലോഡ് ചെയ്യുന്നതിൽ പരാജയപ്പെടാം. ആ JWT bearer സ്കീം അതിന്റെ നിലവിലുള്ള രജിസ്ട്രേഷന് ശേഷവും അഭ്യർത്ഥനകൾക്ക് മുമ്പും കോൺഫിഗർ ചെയ്യുക:
using System.Net;
using Microsoft.AspNetCore.Authentication.JwtBearer;
builder.Services.Configure<JwtBearerOptions>(
JwtBearerDefaults.AuthenticationScheme, options =>
{
options.BackchannelHttpHandler = new HttpClientHandler
{
UseProxy = true,
Proxy = new WebProxy("http://proxy.example:8080")
};
});രജിസ്റ്റർ ചെയ്ത പേര് പൊരുത്തപ്പെടുത്തുക; ഡിഫോൾട്ട് Bearer-ൽ നിന്ന് വ്യത്യസ്തമാണെങ്കിൽ അതിന്റെ യഥാർത്ഥ പേര് ഉപയോഗിക്കുക. Authority, Audience, നിലവിലുള്ള ടോക്കൺ പാരാമീറ്ററുകൾ സൂക്ഷിക്കുക. പൊതു മെറ്റാഡാറ്റയും സിഗ്നിംഗ് കീ എൻഡ്പോയിന്റും ഈ അക്കൗണ്ട് ഇല്ലാത്ത WebProxy URL-നായി HTTP പ്രോക്സി പട്ടികയിൽ നിന്ന് സ്ഥാനാർത്ഥിയെ ഉപയോഗിക്കാം, പൊതു പ്രോക്സി വഴിയുള്ള പ്രവേശനം അനുവദനീയമാകുമ്പോൾ.
സാധാരണ സജ്ജീകരണത്തിൽ post-configuration ഈ handler-ൽ നിന്ന് backchannel സൃഷ്ടിക്കുന്നു. പൂർണ്ണമായ Backchannel അല്ലെങ്കിൽ ഇഷ്ടാനുസൃത ConfigurationManager ഇതിനകം വീണ്ടെടുക്കുന്നയാളെ നൽകുന്നുണ്ടെങ്കിൽ പകരം ആ ഒബ്ജക്റ്റ് കോൺഫിഗർ ചെയ്യുക. handler പ്രോപ്പർട്ടി രണ്ടിനെയും അസാധുവാക്കുന്നില്ല.
ഏത് പ്രോക്സി അക്കൗണ്ടും ഉപയോഗത്തിന് മുമ്പ് WebProxy-യിൽ സജ്ജീകരിക്കുക, SendAsync-നുള്ളിൽ Proxy മാറ്റുന്നതിലൂടെയല്ല. issuer, audience, സിഗ്നേച്ചർ, കാലാവധി, അധിക വാലിഡേറ്റർമാർ സൂക്ഷിക്കുക. OIDC ലോഗിൻ, വേർതിരിച്ച ടോക്കൺ സ്വാധീനം എന്നിവ അവയുടെ സ്വന്തം HTTP പാതകൾ നിലനിർത്തുന്നു.