public async Task <IActionResult> ChangePassword([FromBody] UserPasswordChangeDTO userDTO, [FromRoute] string userId) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var user = await userService.GetUserById(userId); if (!await userService.CheckPassword(user, userDTO.CurrentPassword)) { return(BadRequest("You have entered wrong your password!")); } if (UserId == userId) { await userService.ChangePassword(userId, userDTO.CurrentPassword, userDTO.NewPassword); return(new OkObjectResult("Password changed")); } else { return(BadRequest("Can not change for this user")); } }
public async Task <IActionResult> PasswordChange(UserPasswordChangeDTO userPasswordChangeDTO) { if (ModelState.IsValid) { var user = await _userManager.GetUserAsync(HttpContext.User).ConfigureAwait(false);; if (user != null) { var isVerify = await _userManager.CheckPasswordAsync(user, userPasswordChangeDTO.CurrentPassword).ConfigureAwait(false);; if (isVerify) { var result = await _userManager.ChangePasswordAsync(user, userPasswordChangeDTO.CurrentPassword, userPasswordChangeDTO.NeWPassword).ConfigureAwait(false);; if (result.Succeeded) { await _userManager.UpdateSecurityStampAsync(user).ConfigureAwait(false);; await _signInManager.SignOutAsync().ConfigureAwait(false);; await _signInManager.PasswordSignInAsync(user, userPasswordChangeDTO.NeWPassword, true, false); // şifre değiştirme başarılıysa çıkış yapıp tekrar giriş yaptırdım. TempData.Add("SuccessMessage", "Şifreniz başarıyla güncellenmiştir."); return(View()); } else { foreach (var error in result.Errors) { ModelState.AddModelError("", error.Description); } return(View(userPasswordChangeDTO)); } } else { ModelState.AddModelError("", "Lütfen eski şifrenizi doğru girdiginizden emin olunuz !"); return(View(userPasswordChangeDTO)); } } else { ModelState.AddModelError("", "Böyle bir kullanıcı kaydı bulunamadı."); return(View(userPasswordChangeDTO)); } } else { return(View(userPasswordChangeDTO)); } }
public async Task <IActionResult> UpdatePassword(string userid, [FromBody] UserPasswordChangeDTO userdata) { if (string.IsNullOrWhiteSpace(userid) || userdata == null) { return(CreateBadRequestError(string.Empty, "No user data was supplied on the request!")); } var result = await _userPasswordManager.ChangePassword(userid, userdata.OldPassword, userdata.Password, userdata.VerificationCode); if (!result.Succeeded) { return(CreateBadRequestError(result.Errors)); } return(StatusCode(201)); }
public async Task <IActionResult> ResetPassword(string username, [FromBody] UserPasswordChangeDTO userdata) { if (userdata == null || string.IsNullOrWhiteSpace(username) || userdata.UserId == Guid.Empty) { return(CreateBadRequestError(string.Empty, "Insufficient data was provided to successfully reset password!")); } var result = await _userPasswordManager.ResetPassword(userdata.UserId, username, userdata.Password, userdata.ResetToken, userdata.VerificationCode); if (!result.Succeeded) { return(CreateBadRequestError(result.Errors)); } return(StatusCode(201)); }
public async Task <bool> PasswordChange(UserPasswordChangeDTO user) { user.Name_text = User.Identity.Name; return(await userRepository.PasswordChange(user)); }