AuthenticationAsync dla dostawców uwierzytelniania zdalnego
Dostawcy uwierzytelniania zdalnego, tacy jak OpenIdConnect, WsFederation i OAuth, zostali zaktualizowani, aby uniknąć niepotrzebnych błędów, gdy nie ma dostępnych informacji o użytkowniku w żądaniu.
Wprowadzona wersja
.NET 7
Poprzednie zachowanie
Wcześniej, gdy AuthenticateAsync wywołano dostawcę uwierzytelniania zdalnego i nie było bieżącego użytkownika, wywołanie nie powiodło się z komunikatem podobnym do OpenIdConnect was not authenticated. Failure message: Not authenticated
.
Nowe zachowanie
Począwszy od platformy .NET 7, AuthenticateAsync zwraca AuthenticateResult.NoResult()wartość , tożsamość anonimową.
Typ zmiany powodującej niezgodność
Ta zmiana może mieć wpływ na zgodność binarną.
Przyczyna zmiany
Poprzednie zachowanie:
- Był niespójny z uwierzytelnianiem
Cookie
,Negotiate
które zwraca wartość AuthenticateResult.NoResult(). - Spowodował nadmiarowe dzienniki błędów, zwłaszcza jeśli program obsługi uwierzytelniania zdalnego został ustawiony jako domyślny program obsługi i wywoływany na żądanie.
Zalecana akcja
Jeśli masz kod, który bezpośrednio wywołuje AuthenticateAsyncelement , sprawdź go, aby upewnić się, że prawidłowo obsługuje AuthenticateResult.NoResult() i anonimowe lub puste ClaimsIdentity wystąpienia.