Sebuah API dapat menerima token bearer lalu gagal saat metadata dan kunci penandatangan server diunduh. Konfigurasikan skema JWT bearer tersebut setelah pendaftarannya yang sudah ada dan sebelum permintaan:

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

Cocokkan nama yang terdaftar; jika berbeda dari Bearer default, gunakan nama sebenarnya. Pertahankan Authority, Audience, dan parameter token yang ada. Endpoint metadata dan kunci penandatangan publik dapat memakai kandidat dari daftar proxy HTTP untuk URL WebProxy tanpa akun ini bila akses proxy publik diizinkan.

Dalam penyiapan standar, konfigurasi pasca-pendaftaran membuat backchannel dari handler ini. Jika Backchannel lengkap atau ConfigurationManager khusus sudah menyediakan pengambilnya, konfigurasikan objek itu sebagai gantinya. Properti handler tidak menimpa keduanya.

Tetapkan akun proxy apa pun pada WebProxy sebelum digunakan, bukan dengan mengubah Proxy di dalam SendAsync. Pertahankan issuer, audience, tanda tangan, masa berlaku, dan validator tambahan. Login OIDC dan perolehan token terpisah mempertahankan jalur HTTP masing-masing.

Artikel terkait