public async Task <IActionResult> ForgetPasswordPost(ForgetPasswordVM forgetPassViewModel) { if (!ModelState.IsValid) { ModelState.AddModelError("", "Zəhmət olmasa Emailinizi daxil edin"); return(View(forgetPassViewModel)); } ApplicationUser user = await _userManager.FindByEmailAsync(forgetPassViewModel.Email); if (user == null) { ModelState.AddModelError("", "Bu email qeydiyyatdan keçirilməyib."); return(View(forgetPassViewModel)); } string passwordResetToken = await _userManager.GeneratePasswordResetTokenAsync(user); SmtpClient client = new SmtpClient("smtp.gmail.com", 587); client.UseDefaultCredentials = false; client.EnableSsl = true; client.Credentials = new NetworkCredential(_configuration["ConnectionsStrings:SmtpClientCredentialEmail"], _configuration["ConnectionsStrings:SmtpClientCredentialPassword"]); MailMessage message = new MailMessage("*****@*****.**", forgetPassViewModel.Email); message.IsBodyHtml = true; message.Subject = "Hesabın Bərpası"; message.Body = $"<a href='http://power123elec-001-site1.ctempurl.com/Account/ChangePassword?userId={user.Id}&passwordResetToken={passwordResetToken}'>Hesabın bərpası</a>"; await client.SendMailAsync(message); return(View()); }
public async Task <IActionResult> ForgetPassword([FromBody] ForgetPasswordVM model) { if (ModelState.IsValid) { var _user = await _userManager.FindByEmailAsync(model.Email); if (_user == null) { return(BadRequest("User doesn't exist")); } if (!_forgetPasswordLoggerService.Add(_user)) { return(BadRequest("Something went wrong")); } await _userManager.RemovePasswordAsync(_user); string newPassword = NewPassword(8); var result = await _userManager.AddPasswordAsync(_user, newPassword); await SendResetPasswordAsync(model.Email, newPassword, model.Email); if (result.Succeeded) { return(Ok("Password has been reset successfully!")); } return(BadRequest("Something went wrong")); } return(BadRequest("Some properties are not valid")); }
public async Task <IActionResult> ForgetPassword([FromBody] ForgetPasswordVM model) { var user = await _userManager.Users.FirstOrDefaultAsync(x => x.PhoneNumber == model.PhoneNumber); if (user == null) { throw new UserNotFoundException(model.PhoneNumber); } var isRegisteredBefore = await _userManager.HasPasswordAsync(user); if (!isRegisteredBefore) { throw new UserNotRegisteredException(model.PhoneNumber); } if (!user.PhoneNumberConfirmed) { throw new PhoneNumberNotConfirmedException(model.PhoneNumber); } var code = new Random().Next(100000, 999999).ToString(); user.ResetPasswordCode = code; await _userManager.UpdateAsync(user); _smsSender.Send(new SMSMessageModel { Message = $@"{code} هو كود التحقق الخاص بك في بريمو", ToPhoneNumber = model.PhoneNumber }); return(Ok()); }
public IActionResult ForgetPassword([FromBody] ForgetPasswordVM vm) { if (ModelState.IsValid) { UserVM userVM = new UserVM() { UserName = vm.UserName, Password = vm.NewPassword, }; var result = userContext.forgetPasswordReset(vm.Token, userVM).Result; if (result == true) { return(Ok()); } } return(NoContent()); }
public ActionResult ForgotPassword(ForgetPasswordVM data, string NewPassword, string Email) { var cus = db.Customers.Where(x => x.Email.Equals(data.Email)).SingleOrDefault(); if (cus != null) { if ((cus.Phone.Equals(data.Phone)) && cus.Email.Equals(data.Email)) { cus.Token = MySecurity.EncryptPass(DateTime.Now.Ticks + cus.Email + MySecurity.RandomString(6)); db.SaveChanges(); var url = string.Format("/Customer/NewPassword/?token={0}&cid={1}", cus.Token, cus.Id); var link = Request.Url.AbsoluteUri.Replace(Request.Url.PathAndQuery, url); string subject = "Forgot Password !"; string body = "<br/><br/>Here is your password! Please log out account to try new password" + "<br/> <a href='" + link + "'><h3>" + link + "</h3> </a>"; if (MySecurity.SendMail(data.Email, subject, body)) { return(RedirectToAction("Login", "Customer")); } else { ViewBag.Message = "Error!"; } } else { ViewBag.Message = "Phone or Email Invalid!"; } } else { ViewBag.Message = "Email invalid!"; } return(View(data)); }
public async Task <IActionResult> ForgetPassword(ForgetPasswordVM model) { if (ModelState.IsValid) { var user = await userManager.FindByEmailAsync(model.Email); if (user != null) { var token = await userManager.GeneratePasswordResetTokenAsync(user); var passwordResetLink = Url.Action("ResetPassword", "Account", new { model.Email, Token = token }, Request.Scheme); MailHelper.SendMail("PAssword Reset Link", passwordResetLink); logger.Log(LogLevel.Warning, passwordResetLink); return(RedirectToAction("ConfirmForgetPassword")); } return(RedirectToAction("ConfirmForgetPassword")); } return(View(model)); }
public async Task <IActionResult> ForegetPassword(ForgetPasswordVM forgetPassword) { if (ModelState.IsValid) { var user = await manager.FindByEmailAsync(forgetPassword.Email); if (user != null) { var token = await manager.GeneratePasswordResetTokenAsync(user); var passwordResetLink = Url.Action("ResetPassword", "Account", new { Email = forgetPassword.Email, Token = token }, Request.Scheme); Mail.SendMail("Reset Palssword Link", passwordResetLink, forgetPassword.Email); return(RedirectToAction("ConformForgetPassword")); } ModelState.AddModelError("", "this mail not register"); return(View(forgetPassword)); } return(View(forgetPassword)); }
public ForgetPasswordPage() { InitializeComponent(); BindingContext = viewModel = new ForgetPasswordVM(); }