Esempio n. 1
0
        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"));
            }
        }
Esempio n. 2
0
        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));
            }
        }
Esempio n. 3
0
        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));
        }
Esempio n. 4
0
        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));
        }
Esempio n. 5
0
 public async Task <bool> PasswordChange(UserPasswordChangeDTO user)
 {
     user.Name_text = User.Identity.Name;
     return(await userRepository.PasswordChange(user));
 }