Udostępnij za pośrednictwem


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.

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.

Dotyczy interfejsów API