public async Task <ResultModel> ChangePassword([FromBody] UserForChangePassword userForChangePassword) { ResultModel result = new ResultModel(); var accessToken = Request.Headers["Authorization"]; //var user = await _TokenGetUserHelper.GetUser(accessToken); result = await _repo.ChangePassword(userForChangePassword); logger.Info("username="******"\nChangePassword " + result.Message); return(result); }
public async Task <IActionResult> ChangePassword(int userId, UserForChangePassword userForChangePassword) { var user = await userManager.FindByIdAsync(userId.ToString()); if (user == null) { return(NotFound("Could not find user.")); } var changePassword = await userManager.ChangePasswordAsync(user, userForChangePassword.CurrentPassword, userForChangePassword.Password); if (changePassword.Succeeded) { return(Ok()); } return(Unauthorized()); }
public IActionResult ChangePassword(string passwordtoken) { var instance = _userPasswordChangeService.GetById(Convert.ToInt32(Cryptology.Decrypt(passwordtoken))); if (instance != null && instance.Status == false) { var model = new UserForChangePassword { Id = instance.Id, Email = _userService.GetById(instance.UserId).Email, NewPassword = "", NewPasswordAgain = "" }; return(View(model)); } return(NotFound()); }
public async Task <ResultModel> ChangePassword(UserForChangePassword user) { var result = new ResultModel(); var existuser = await _context.Users.FirstOrDefaultAsync(x => x.UserName == user.Username); //Get user from database. if (existuser == null) { result.IsSuccess = false; result.Message = "User does not exist"; return(result); } if (!VerifyPassword(user.Password, existuser.PasswordHash, existuser.PasswordSalt)) { result.IsSuccess = false; result.Message = "Password error."; return(result); } byte[] passwordHash, passwordSalt; CreatePasswordHash(user.NewPassword, out passwordHash, out passwordSalt); existuser.PasswordHash = passwordHash; existuser.PasswordSalt = passwordSalt; try { _context.Entry(existuser).CurrentValues.SetValues(existuser); result.IsSuccess = true; result.Message = "Change password success, please login again."; } catch (Exception e) { result.IsSuccess = false; result.Message = "DB error"; } await _context.SaveChangesAsync(); // Save changes to database. return(result); }
public IActionResult ChangePassword(UserForChangePassword userForChangePassword) { if (userForChangePassword.NewPassword != userForChangePassword.NewPasswordAgain) { return(RedirectToAction("ChangePassword", new { passwordtoken = Cryptology.Encrypt(userForChangePassword.Id.ToString()) })); } var changePassword = _userPasswordChangeService.GetById(userForChangePassword.Id); changePassword.Date = DateTime.Now; changePassword.Status = true; _userPasswordChangeService.Update(changePassword); var user = _userService.GetById(changePassword.UserId); user.Password = userForChangePassword.NewPassword; _userService.Update(user); return(RedirectToAction("Login", "Auth")); }
public async Task <IActionResult> ChangePassword(UserForChangePassword model) { if (!ModelState.IsValid) { return(View(model)); } ResultModel result = new ResultModel(); var data = JsonConvert.SerializeObject(model); result = await _callApi.CallAPI(data, new Uri(_config["api"].ToString() + "/auth/ChangePassword"), "POST"); TempData["IsSuccess"] = result.IsSuccess; TempData["msg"] = result.Message; if (result.IsSuccess) { await HttpContext.SignOutAsync(); return(RedirectToAction(nameof(Login))); } return(View()); }