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 మార్గాలను నిలుపుకుంటాయి.