Un API poate primi un token bearer și poate eșua la descărcarea metadatelor și a cheii de semnare ale serverului. Configurați acea schemă JWT bearer după înregistrarea existentă și înainte de cereri:

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

Potriviți numele înregistrat; dacă diferă de Bearer implicit, folosiți numele real. Păstrați Authority, Audience și parametrii de token existenți. Un endpoint public de metadate și cheie de semnare poate folosi un candidat din lista de proxy HTTP pentru acest URL WebProxy fără cont când accesul prin proxy public este permis.

În configurația standard, post-configurarea creează backchannel-ul din acest handler. Dacă un Backchannel complet sau un ConfigurationManager personalizat furnizează deja preluatorul, configurați acel obiect. Proprietatea handler-ului nu le suprascrie pe amândouă.

Setați orice cont de proxy pe WebProxy înainte de utilizare, nu modificând Proxy în interiorul SendAsync. Păstrați issuer, audience, semnătura, durata de viață și validatorii suplimentari. Autentificarea OIDC și obținerea separată a tokenului își păstrează propriile căi HTTP.

Articole similare