Ένα API μπορεί να λάβει bearer token και να αποτύχει στη λήψη μεταδεδομένων και κλειδιού υπογραφής του διακομιστή. Ρυθμίστε αυτό το σχήμα 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 και τις υπάρχουσες παραμέτρους του token. Ένα δημόσιο τελικό σημείο μεταδεδομένων και κλειδιού υπογραφής μπορεί να χρησιμοποιήσει υποψήφιο από τη λίστα HTTP proxy για αυτή τη διεύθυνση WebProxy χωρίς λογαριασμό, όταν επιτρέπεται η πρόσβαση μέσω δημόσιων proxy.

Στην τυπική ρύθμιση, η post-configuration δημιουργεί το backchannel από αυτό το handler. Αν ένα πλήρες Backchannel ή προσαρμοσμένο ConfigurationManager παρέχει ήδη τον ανακτητή, ρυθμίστε εκείνο το αντικείμενο. Η ιδιότητα του handler δεν υπερισχύει και των δύο.

Ορίστε κάθε λογαριασμό proxy στο WebProxy πριν από τη χρήση, όχι αλλάζοντας το Proxy μέσα στο SendAsync. Διατηρήστε issuer, audience, υπογραφή, διάρκεια ζωής και πρόσθετους επικυρωτές. Η σύνδεση OIDC και η χωριστή απόκτηση token διατηρούν τις δικές τους διαδρομές HTTP.

Σχετικά άρθρα