public async Task <ActionResult> RedefinePassword(RedefinePasswordViewModel model) { if (!ModelState.IsValid) { return(View(model)); } bool valid = await UserManager.VerifyUserTokenAsync(model.UserId, "ResetPassword", model.Token); if (!valid) { Notify.Error(Res.PasswordRecoveryLinkInvalidMessage); return(Redirect("LogOn")); } IdentityResult result = await UserManager.ResetPasswordAsync(model.UserId, model.Token, model.NewPassword); if (!result.Succeeded) { Notify.Error(Resources.CommonStrings.RequestUnexpectedErrorMessage); return(View(model)); } model.SuccessMessage = Res.PasswordChangeSuccessMessage; return(View(model)); }
public async Task <IActionResult> RedefinePassword(RedefinePasswordViewModel redefinePasswordViewModel) { if (ModelState.IsValid) { _logger.LogInformation("Pegando usuário pela matrícula"); var user = await _userRepository.GetById(redefinePasswordViewModel.UserId); PasswordHasher <User> passwordHasher = new PasswordHasher <User>(); DateTime date = redefinePasswordViewModel.UpdateDate; if (passwordHasher.VerifyHashedPassword(user, user.PasswordHash, redefinePasswordViewModel.Password) != PasswordVerificationResult.Failed) { _logger.LogInformation("Informações corretas. Atualizando usuário"); user.UpdateDate = date; user.PasswordHash = passwordHasher.HashPassword(user, redefinePasswordViewModel.NewPassword); await _userRepository.UpdateUser(user); return(RedirectToAction("Index", "Users")); } _logger.LogInformation("Informações inválidas"); ModelState.AddModelError("", "Senha inválida"); } _logger.LogError("Informações inválidas"); return(View(redefinePasswordViewModel)); }
public async Task <IActionResult> RedefinePassword(string UserId) { _logger.LogInformation("Verificando se o usuário existe"); var user = await _userRepository.GetById(UserId); var redefinePasswordViewModel = new RedefinePasswordViewModel { UserId = user.Id, UpdateDate = DateTime.Now, Name = user.Name, }; _logger.LogInformation("Atualizar usuário"); return(View(redefinePasswordViewModel)); }
public async Task <ActionResult> RedefinePassword(string userId, string token) { bool valid = await UserManager.VerifyUserTokenAsync(userId, "ResetPassword", token); if (!valid) { Notify.Error(Res.PasswordRecoveryLinkInvalidMessage); return(Redirect("LogOn")); } var model = new RedefinePasswordViewModel() { Token = token, UserId = userId }; return(View(model)); }