Διόρθωση της διαδρομής διαμεσολαβητή στην πλευρά του διακομιστή σε σύνδεση OIDC του ASP.NET Core
Ορίστε το BackchannelHttpHandler στο καταχωρισμένο σχήμα OpenID Connect για αιτήματα ανακάλυψης και διακριτικών, εκτός αν η εφαρμογή παρέχει πλήρη πελάτη Backchannel.
Το ότι ένα πρόγραμμα περιήγησης φτάνει στη σελίδα σύνδεσης του παρόχου ταυτότητας δεν αποδεικνύει ότι ο διακομιστής ASP.NET Core μπορεί να ανακτήσει τα μεταδεδομένα του παρόχου ή να ανταλλάξει διακριτικό. Αυτά τα αιτήματα στην πλευρά του διακομιστή χρησιμοποιούν το πίσω κανάλι του OpenID Connect.
Για ένα υπάρχον σχήμα με όνομα oidc, ρυθμίστε τον χειριστή του κατά τη ρύθμιση των υπηρεσιών, πριν ξεκινήσουν τα αιτήματα ελέγχου ταυτότητας:
services.Configure<Microsoft.AspNetCore.Authentication.OpenIdConnect
.OpenIdConnectOptions>("oidc", options =>
{
options.BackchannelHttpHandler =
new System.Net.Http.HttpClientHandler
{
UseProxy = true,
Proxy = new System.Net.WebProxy(
"http://proxy.example.net:8080")
};
});Αντικαταστήστε το oidc με το πραγματικό καταχωρισμένο όνομα σχήματος. Διατηρήστε τις ρυθμίσεις authority, πελάτη και επικύρωσης διακριτικού. Αν ο διαμεσολαβητής απαιτεί λογαριασμό, προσαρτήστε τα προβλεπόμενα διαπιστευτήρια στο WebProxy.
Ελέγξτε αν η εφαρμογή παρέχει ήδη το options.Backchannel ως πλήρη HttpClient. Αν ναι, ρυθμίστε απευθείας τη διαδρομή αυτού του πελάτη: το ASP.NET Core χρησιμοποιεί το BackchannelHttpHandler κατά τη δημιουργία του προεπιλεγμένου πίσω καναλιού του, όχι για να αντικαταστήσει έναν πελάτη που παρέχεται ήδη.
Χρησιμοποιήστε το αποτυχημένο αίτημα ανακάλυψης ή διακριτικού του διακομιστή για να αξιολογήσετε αυτή τη ρύθμιση. Για δημόσια διαδρομή HTTP, η λίστα διαμεσολαβητών HTTP προσφέρει υποψηφίους για τη διεύθυνση WebProxy. Η πολιτική διαμεσολαβητή του προγράμματος περιήγησης και οι άσχετοι πελάτες HTTP έχουν δικές τους διαδρομές ρύθμισης.