API može da primi bearer token i da ne uspe pri preuzimanju metapodataka i ključa za potpis sa servera. Konfigurišite tu JWT bearer šemu posle postojeće registracije i pre zahteva:

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")
        };
    });

Uskladite registrovano ime; ako se razlikuje od podrazumevanog Bearer, koristite njegovo stvarno ime. Zadržite Authority, Audience i postojeće parametre tokena. Javna krajnja tačka metapodataka i ključa za potpis može da koristi kandidata iz liste HTTP proxyja za ovaj WebProxy URL bez naloga kada je dozvoljen pristup preko javnih proxyja.

U standardnom podešavanju post-configuration pravi backchannel iz ovog handlera. Ako potpuni Backchannel ili prilagođeni ConfigurationManager već obezbeđuje preuzimač, konfigurišite taj objekat. Svojstvo handlera ne nadjačava oba.

Svaki proxy nalog postavite na WebProxy pre upotrebe, a ne menjanjem Proxy unutar SendAsync. Zadržite issuer, audience, potpis, trajanje i dodatne validatore. OIDC prijava i odvojeno pribavljanje tokena zadržavaju sopstvene HTTP putanje.

Povezani članci