public ActionResult ForgotPassword(ForgotPasswordViewmodel forgotPasswordViewmodel)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    _userManager.ResetPassword(forgotPasswordViewmodel.Email);

                    return(View("PasswordSent"));
                }
                catch (BusinessException be)
                {
                    ///TODO Log error.
                }
            }

            return(View());
        }
Esempio n. 2
0
        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));
        }