diff --git a/src/Core/Auth/Services/Implementations/EmergencyAccessService.cs b/src/Core/Auth/Services/Implementations/EmergencyAccessService.cs index 38df8e598..cb7fbd294 100644 --- a/src/Core/Auth/Services/Implementations/EmergencyAccessService.cs +++ b/src/Core/Auth/Services/Implementations/EmergencyAccessService.cs @@ -327,7 +327,9 @@ public class EmergencyAccessService : IEmergencyAccessService var grantor = await _userRepository.GetByIdAsync(emergencyAccess.GrantorId); - grantor.MasterPassword = _passwordHasher.HashPassword(grantor, newMasterPasswordHash); + await _userService.UpdatePasswordHash(grantor, newMasterPasswordHash); + grantor.RevisionDate = DateTime.UtcNow; + grantor.LastPasswordChangeDate = grantor.RevisionDate; grantor.Key = key; // Disable TwoFactor providers since they will otherwise block logins grantor.SetTwoFactorProviders(new Dictionary()); diff --git a/src/Core/Services/Implementations/UserService.cs b/src/Core/Services/Implementations/UserService.cs index 2132e6480..7751aff16 100644 --- a/src/Core/Services/Implementations/UserService.cs +++ b/src/Core/Services/Implementations/UserService.cs @@ -713,8 +713,9 @@ public class UserService : UserManager, IUserService, IDisposable } user.RevisionDate = user.AccountRevisionDate = DateTime.UtcNow; - user.Key = key; + user.LastPasswordChangeDate = user.RevisionDate; user.ForcePasswordReset = true; + user.Key = key; await _userRepository.ReplaceAsync(user); await _mailService.SendAdminResetPasswordEmailAsync(user.Email, user.Name, org.DisplayName());