mirror of
https://github.com/bitwarden/server.git
synced 2025-06-30 15:42:48 -05:00
add timestamps to user table for security related events (#2660)
* add timestamps to user table for security related events * ef migrations * fix lint problems * formatting * add missing namespace back * move `now` up some * review fixes * add missing view rebuild to migration script
This commit is contained in:
@ -65,6 +65,10 @@ public class User : ITableObject<Guid>, ISubscriber, IStorable, IStorableSubscri
|
||||
public bool UnknownDeviceVerificationEnabled { get; set; }
|
||||
[MaxLength(7)]
|
||||
public string AvatarColor { get; set; }
|
||||
public DateTime? LastPasswordChangeDate { get; set; }
|
||||
public DateTime? LastKdfChangeDate { get; set; }
|
||||
public DateTime? LastKeyRotationDate { get; set; }
|
||||
public DateTime? LastEmailChangeDate { get; set; }
|
||||
|
||||
public void SetNewId()
|
||||
{
|
||||
|
@ -561,10 +561,13 @@ public class UserService : UserManager<User>, IUserService, IDisposable
|
||||
return result;
|
||||
}
|
||||
|
||||
var now = DateTime.UtcNow;
|
||||
|
||||
user.Key = key;
|
||||
user.Email = newEmail;
|
||||
user.EmailVerified = true;
|
||||
user.RevisionDate = user.AccountRevisionDate = DateTime.UtcNow;
|
||||
user.RevisionDate = user.AccountRevisionDate = now;
|
||||
user.LastEmailChangeDate = now;
|
||||
await _userRepository.ReplaceAsync(user);
|
||||
|
||||
if (user.Gateway == GatewayType.Stripe)
|
||||
@ -618,7 +621,9 @@ public class UserService : UserManager<User>, IUserService, IDisposable
|
||||
return result;
|
||||
}
|
||||
|
||||
user.RevisionDate = user.AccountRevisionDate = DateTime.UtcNow;
|
||||
var now = DateTime.UtcNow;
|
||||
user.RevisionDate = user.AccountRevisionDate = now;
|
||||
user.LastPasswordChangeDate = now;
|
||||
user.Key = key;
|
||||
user.MasterPasswordHint = passwordHint;
|
||||
|
||||
@ -845,7 +850,9 @@ public class UserService : UserManager<User>, IUserService, IDisposable
|
||||
return result;
|
||||
}
|
||||
|
||||
user.RevisionDate = user.AccountRevisionDate = DateTime.UtcNow;
|
||||
var now = DateTime.UtcNow;
|
||||
user.RevisionDate = user.AccountRevisionDate = now;
|
||||
user.LastKdfChangeDate = now;
|
||||
user.Key = key;
|
||||
user.Kdf = kdf;
|
||||
user.KdfIterations = kdfIterations;
|
||||
@ -870,7 +877,9 @@ public class UserService : UserManager<User>, IUserService, IDisposable
|
||||
|
||||
if (await CheckPasswordAsync(user, masterPassword))
|
||||
{
|
||||
user.RevisionDate = user.AccountRevisionDate = DateTime.UtcNow;
|
||||
var now = DateTime.UtcNow;
|
||||
user.RevisionDate = user.AccountRevisionDate = now;
|
||||
user.LastKeyRotationDate = now;
|
||||
user.SecurityStamp = Guid.NewGuid().ToString();
|
||||
user.Key = key;
|
||||
user.PrivateKey = privateKey;
|
||||
|
Reference in New Issue
Block a user