public void DataExtensions_CreatePassword_Passwords_Match() { string password1 = "password1"; string password2 = "password1"; DataExtensions.CreatePasswordHash(password1, out byte[] hash, out byte[] salt); bool result = DataExtensions.IsPasswordCorrect(password2, hash, salt); Assert.IsTrue(result); }
public async Task <LogInResult> SignInAsync(SignInModel model) { var user = await _userRepository.FindOneAsync(r => r.Email == model.Email); if (user == null) { throw model.Email.EmailNotFoundException(); } if (!DataExtensions.IsPasswordCorrect(model.Password, user.PasswordHash, user.PasswordSalt)) { throw user.PasswordIsIncorrectException(); } var userModel = _mapper.Map <User, UserModel>(user); return(new LogInResult { User = userModel, Token = DataExtensions.GenerateToken(user, _settings.SecretKey) }); }
public async Task <UserModel> ChangeUserPasswordAsync(ChangePasswordModel model) { var user = await _userRepository.FindOneAsync(t => t.Email == model.Email); if (user == null) { throw model.Email.EmailNotFoundException(); } if (!DataExtensions.IsPasswordCorrect(model.OldPassword, user.PasswordHash, user.PasswordSalt)) { throw user.PasswordIsIncorrectException(); } DataExtensions.CreatePasswordHash(model.NewPassword, out byte[] newPassHash, out byte[] newSaltHash); user.PasswordHash = newPassHash; user.PasswordSalt = newSaltHash; var updatedUser = await _userRepository.InsertOrUpdateAsync(user, user.CreatedBy); return(_mapper.Map <User, UserModel>(updatedUser)); }