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 ужо дае retriever, наладзьце замест гэтага той аб’ект. Уласцівасць handler не перакрывае абодва.

Любы ўліковы запіс проксі задавайце ў WebProxy да выкарыстання, а не праз змену Proxy унутры SendAsync. Захавайце issuer, audience, подпіс, тэрмін дзеяння і дадатковыя валідатары. Уваход OIDC і асобнае атрыманне токена захоўваюць свае HTTP-шляхі.

Падобныя артыкулы