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)); } }
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)); }
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) }); }
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)); }
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.")); }