Exemple #1
0
        public async Task <IActionResult> ResetPassword([FromBody] ResetPasswordForDto model)
        {
            try
            {
                if (string.IsNullOrEmpty(model.UserName) || string.IsNullOrEmpty(model.Password) || string.IsNullOrEmpty(model.ConfirmPassword) || string.IsNullOrEmpty(model.Token))
                {
                    return(BadRequest("Lütfen tüm alanları doldurunuz."));
                }

                var user = await _userManager.FindByNameAsync(model.UserName);

                if (user == null)
                {
                    return(BadRequest($"{model.UserName} isminde bir kullanıcı bulunamadı. Lütfen bilgilerinizi kontrol ediniz."));
                }

                var resetPassResult = await _userManager.ResetPasswordAsync(user, HttpUtility.UrlDecode(model.Token), model.Password);

                if (!resetPassResult.Succeeded)
                {
                    return(BadRequest(string.Join(",", resetPassResult.Errors.Select(s => s.Description))));
                }

                return(Ok());
            }
            catch (Exception ex)
            {
                return(StatusCode(500, ex.Message));
            }
        }
Exemple #2
0
        public async Task <IActionResult> ResetPassword(ResetPasswordForDto model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            var json       = JsonConvert.SerializeObject(model, Formatting.Indented);
            var httpClinet = _httpClientFactory.CreateClient("ingamedemo");
            var response   = await httpClinet.PostAsync("account/resetpassword", new StringContent(json, Encoding.UTF8, "application/json"));

            if (!response.IsSuccessStatusCode)
            {
                var message = await response.Content.ReadAsStringAsync();

                if (string.IsNullOrEmpty(message))
                {
                    message = "Beklenmedik bir hata meydana geldi. Lütfen daha sonra tekrar deneyiniz.";
                }
                ModelState.AddModelError("", message);
            }
            else
            {
                AddSweetAlert("Tebrikler.", "Şifreniz yenilenmiştir. Giriş yapabilirsiniz.", NotificationType.success);

                return(RedirectToAction("Login"));
            }

            return(View(model));
        }
Exemple #3
0
        public async Task <UserManagerResponse> ResetPasswordIsLogin(ResetPasswordForDto model, string userId)
        {
            var user = await _userManager.FindByIdAsync(userId);

            if (user == null)
            {
                return new UserManagerResponse
                       {
                           IsSuccess = false,
                           Message   = "Kullanıcı bulunamadı."
                       }
            }
            ;

            if (!LoginUserAsync(new LoginForDto {
                Email = user.Email, Password = model.CurrentPassword
            }).Result.IsSuccess)
            {
                return(new UserManagerResponse
                {
                    IsSuccess = false,
                    Message = "Geçerli şifre yanlış. Lütfen kontrol ediniz."
                });
            }

            if (model.NewPassword != model.ConfirmPassword)
            {
                return(new UserManagerResponse
                {
                    IsSuccess = false,
                    Message = "Şifreler eşleşmiyor. Kontrol ediniz."
                });
            }

            var token = await _userManager.GeneratePasswordResetTokenAsync(user);

            var result = await _userManager.ResetPasswordAsync(user, token, model.NewPassword);

            if (result.Succeeded)
            {
                return new UserManagerResponse
                       {
                           IsSuccess = true,
                           Message   = "Şifre yenileme başarılı."
                       }
            }
            ;

            return(new UserManagerResponse
            {
                IsSuccess = false,
                Message = "Bir şeyler yanlış gitti.",
                Errors = result.Errors.Select(e => e.Description)
            });
        }
Exemple #4
0
        public IActionResult ResetPassword(string token)
        {
            var model = new ResetPasswordForDto();

            if (string.IsNullOrEmpty(token))
            {
                AddSweetAlert("Geçersiz token.", "Lütfen tekrar deneyiniz.", NotificationType.warning);
            }

            return(View(model));
        }
Exemple #5
0
        public async Task <IActionResult> ResetPasswordIsLogin([FromBody] ResetPasswordForDto model)
        {
            if (ModelState.IsValid)
            {
                var userId = User.FindFirst(ClaimTypes.NameIdentifier).Value;
                var result = await _userService.ResetPasswordIsLogin(model, userId);

                if (result.IsSuccess)
                {
                    return(Ok(result));
                }
                return(BadRequest(result));
            }

            return(BadRequest("Some properties are not valid."));
        }