ASP.NET Core JWT Bearer: metadata backchannel ۋاكالەتچىسىنى تەڭشەش
ئېلىش باشلىنىشتىن بۇرۇن BackchannelHttpHandler نى ئىشلىتىڭ، پۈتۈن client ياكى ئۆزلەشتۈرۈلگەن configuration باشقۇرغۇچى بۇ توشۇشنى ئاللىبۇرۇن ئىگىلىمىگەن بولسا.
بىر API bearer token ئېلىپ، مۇلازىمېتىرنىڭ metadata ۋە signing-key چۈشۈرۈشىدە مەغلۇپ بولۇشى مۇمكىن. بۇ 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 ۋە مەۋجۇت token پارامېتىرلىرىنى ساقلاڭ. ئاممىۋى metadata ۋە signing-key ئاخىرلاشقان نۇقتىسى، ئاممىۋى ۋاكالەتچى ئارقىلىق كىرىشكە رۇخسەت بولغاندا، بۇ ھېساباتسىز WebProxy URL ئۈچۈن HTTP ۋاكالەتچى تىزىملىكىدىن نامزات ئىشلىتەلەيدۇ.
ئۆلچەملىك تەڭشەشتە post-configuration بۇ handler دىن backchannel ياسايدۇ. ئەگەر تولۇق Backchannel ياكى ئۆزلەشتۈرۈلگەن ConfigurationManager ئېلىشچىنى ئاللىبۇرۇن تەمىنلىسە، ئۇنىڭ ئورنىغا شۇ ئوبيېكتنى تەڭشەڭ. handler خاسىيىتى ھەر ئىككىسىنى قاپلىمايدۇ.
ھەرقانداق ۋاكالەتچى ھېساباتىنى ئىشلىتىشتىن بۇرۇن WebProxy غا تەڭشەڭ، SendAsync ئىچىدە Proxy نى ئۆزگەرتىش بىلەن ئەمەس. issuer، audience، ئىمزا، ئۆمرى ۋە قوشۇمچە دەلىللىگۈچلەرنى ساقلاڭ. OIDC كىرىش ۋە ئايرىم token ئېلىش ئۆزىنىڭ HTTP يوللىرىنى ساقلايدۇ.