public ActionResult ForgotPassword(ForgotPasswordViewmodel forgotPasswordViewmodel) { if (ModelState.IsValid) { try { _userManager.ResetPassword(forgotPasswordViewmodel.Email); return(View("PasswordSent")); } catch (BusinessException be) { ///TODO Log error. } } return(View()); }
public async Task <IActionResult> WachtwoordVergeten(ForgotPasswordViewmodel model) { if (ModelState.IsValid) { var user = await userManager.FindByEmailAsync(model.Email); if (user == null || !(await userManager.IsEmailConfirmedAsync(user))) { // Don't reveal that the user does not exist or is not confirmed return(View("ForgotPasswordConfirmation")); } var code = await userManager.GeneratePasswordResetTokenAsync(user); var callbackUrl = Url.Action(nameof(AccountController.ResetPassword), "Account", new { userId = user.Id, code }, protocol: HttpContext.Request.Scheme); await emailSender.SendEmailAsync(model.Email, "Wachtwoord resetten", $"U kunt uw wachtwoord resetten door op de volgende link te klikken: <a href='{callbackUrl}'>link</a>."); return(RedirectToAction(nameof(AccountController.WachtwoordVergetenBevestiging), "Account")); } // If we got this far, something failed, redisplay form return(View("ForgotPassword", model)); }