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 და არსებული ტოკენის პარამეტრები. საჯარო მეტამონაცემებისა და ხელმოწერის გასაღების ბოლო წერტილს შეუძლია გამოიყენოს კანდიდატი HTTP პროქსების სიიდან ამ ანგარიშის გარეშე WebProxy URL-ისთვის, როცა საჯარო პროქსით წვდომა დაშვებულია.
სტანდარტულ კონფიგურაციაში post-configuration ქმნის backchannel-ს ამ handler-იდან. თუ სრული Backchannel ან მორგებული ConfigurationManager უკვე აწვდის მიმღებს, დააკონფიგურირეთ ის ობიექტი. handler-ის თვისება ორივეს არ ცვლის.
ნებისმიერი პროქსის ანგარიში დააყენეთ WebProxy-ზე გამოყენებამდე და არა SendAsync-ში Proxy-ის შეცვლით. შეინარჩუნეთ issuer, audience, ხელმოწერა, ვადა და დამატებითი ვალიდატორები. OIDC შესვლა და ტოკენის ცალკე მიღება ინარჩუნებენ საკუთარ HTTP გზებს.