Một API có thể nhận bearer token rồi thất bại khi tải metadata và khóa ký của máy chủ. Hãy cấu hình lược đồ JWT bearer đó sau đăng ký hiện có và trước các yêu cầu:

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

Khớp với tên đã đăng ký; nếu khác Bearer mặc định, dùng tên thực tế của nó. Giữ nguyên Authority, Audience và các tham số token hiện có. Điểm cuối metadata và khóa ký công khai có thể dùng một ứng viên từ danh sách proxy HTTP cho URL WebProxy không cần tài khoản này khi truy cập qua proxy công cộng được phép.

Trong thiết lập tiêu chuẩn, cấu hình sau tạo backchannel từ handler này. Nếu một Backchannel đầy đủ hoặc ConfigurationManager tùy chỉnh đã cung cấp bộ lấy dữ liệu, hãy cấu hình đối tượng đó thay thế. Thuộc tính handler không ghi đè cả hai.

Đặt bất kỳ tài khoản proxy nào trên WebProxy trước khi dùng, không phải bằng cách thay đổi Proxy bên trong SendAsync. Giữ issuer, audience, chữ ký, thời hạn và các trình xác thực bổ sung. Đăng nhập OIDC và việc lấy token riêng giữ các đường dẫn HTTP của chính chúng.

Bài viết liên quan