public void Constructor_GiveValidArguments_PropertiesAreSet() { var @event = new PasswordChangedEvent("email-address", "first-name", "last-name"); Assert.Equal("email-address", @event.EmailAddress); Assert.Equal("first-name", @event.FirstName); Assert.Equal("last-name", @event.LastName); }
public void ApplyPasswordChangedEvent() { var user = new User(Guid.NewGuid()); var @event = new PasswordChangedEvent(user.Id, 0, HashedTestPassword); user.ApplyEvents(new Event[] { @event }); user.PasswordCorrect(TestPassword).Should().BeTrue(); }
public void Handle(PasswordChangedEvent <CustomUserAccount> evt) { using (var db = new CustomDatabase()) { var oldEntires = db.PasswordHistory.Where(x => x.UserID == evt.Account.ID).OrderByDescending(x => x.DateChanged).ToArray(); for (var i = 0; i < 3 && oldEntires.Length > i; i++) { var oldHash = oldEntires[i].PasswordHash; if (new DefaultCrypto().VerifyHashedPassword(oldHash, evt.NewPassword)) { throw new ValidationException("New Password must not be same as the past three"); } } } }
public void ChangePassword(string newPassword) { if (!ValidatePassword(newPassword)) { throw new ArgumentException("Password is not valid"); } var hashedPassword = HashPassword(newPassword); if (hashedPassword == _Password) { throw new ArgumentException("Password must not be the same as your existing password"); } var @event = new PasswordChangedEvent(Id, Version, hashedPassword); Apply(@event); PublishEvent(@event); }
public async Task <IActionResult> UpdatePassword([FromBody] ChangePasswordRequest request) { var user = await _userManager.GetUserAsync(User); if (user == null) { return(NotFound()); } var result = await _userManager.ChangePasswordAsync(user, request.OldPassword, request.NewPassword); if (!result.Succeeded) { return(BadRequest(result.Errors.ToValidationProblemDetails())); } var @event = new PasswordChangedEvent(SingleUserInfo.FromUser(user)); await _eventService.Publish(@event); return(NoContent()); }
public void Handle(PasswordChangedEvent args) { if (String.IsNullOrWhiteSpace(args.Email)) { return; } var sb = new StringBuilder(); sb.AppendLine("Ваш пароль для сайта семейного архива был изменен:"); sb.AppendLine(); sb.AppendLine($"Адрес сайта: {this.Infrastructure.WebSiteUrl}"); sb.AppendLine($"Логин: {args.Login}"); sb.AppendLine($"Пароль: {args.Password}"); sb.AppendLine(); sb.AppendLine("С уважением,"); sb.AppendLine("Семейный Архив Лицкевичей"); try { this.EmailService.SendNotification(args.Email, new Message("Смена пароля на сайте семейного архива", sb.ToString())); } catch { } }
public async Task <IActionResult> ForgotPasswordConfirmation([FromBody] ForgotPasswordVerifyModel request) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var user = await _userManager.FindByEmailAsync(request.Email); if (user == null) { return(NoContent()); } var result = await _userManager.ResetPasswordAsync(user, request.Token, request.NewPassword); if (!result.Succeeded) { return(BadRequest(result.Errors.ToValidationProblemDetails())); } var @event = new PasswordChangedEvent(SingleUserInfo.FromUser(user)); await _eventService.Publish(@event); return(NoContent()); }
public async Task <IActionResult> SetPassword([FromRoute] string userId, [FromBody] SetPasswordRequest request) { var user = await _dbContext.Users.SingleOrDefaultAsync(x => x.Id == userId); if (user == null) { return(NotFound()); } var result = await _userManager.ResetPasswordAsync(user, request.Password, validatePassword : !request.BypassPasswordValidation.GetValueOrDefault()); if (!result.Succeeded) { return(BadRequest(result.Errors.ToValidationProblemDetails())); } var @event = new PasswordChangedEvent(SingleUserInfo.FromUser(user)); await _eventService.Publish(@event); if (request.ChangePasswordAfterFirstSignIn == true) { await _userManager.SetPasswordExpiredAsync(user, true); } return(NoContent()); }
public void Handle(PasswordChangedEvent evt) => Process(evt);
public void Apply(PasswordChangedEvent @event) { Version++; _Password = @event.Password; }
protected void When(PasswordChangedEvent passwordChangedEvent) => Password = passwordChangedEvent.Password;
public void RestoreFrom(PasswordChangedEvent e) { PasswordSalt = e.PasswordSalt; PasswordHash = e.PasswordHash; PasswordHashAlgorithm = e.PasswordHashAlgorithm; }
public void Handle(PasswordChangedEvent evt) { Process(evt, new { evt.NewPassword }); }
public Task Handle(PasswordChangedEvent notification, CancellationToken cancellationToken) { return(Task.CompletedTask); }
public void Handle(PasswordChangedEvent <HierarchicalUserAccount> evt) { Process(evt); }
public void Handle(PasswordChangedEvent <CustomUserAccount> evt) { AddPasswordHistoryEntry(evt.Account.ID, evt.NewPassword); }
public virtual void Process(PasswordChangedEvent evt, object extra = null) { var data = GetExtraProperties(evt.Account, extra); Send(evt, evt.Account.Email, data); }