public async Task <IActionResult> ForgotPassword(User userToUpdate) { var _user = userRep.GetUserByEmail(userToUpdate.Email); if (_user == null && _user.ConfirmEmail == false) { return(RedirectToAction("ForgotPassword", new { message = $"Пользователь с почтовым адресом {userToUpdate.Email} не зарегистрирован" })); } cryptoService = new CryptoService(appOptions); _user.Token = Guid.NewGuid().ToString(); await userRep.UpdateUserAsync(_user); emailService.Send(_user.Email, _user.Token, "User/AllowResetPassword", "Для сброса пароля перейдите по ссылке", "Сброс пароя"); ViewBag.message = "Письмо отправлено,проверьте вашу почту"; return(View("ForgotPasswordConfirmation")); }
public async Task <IActionResult> ConfirmEmail(string token) { var _user = userRep.GetUserByToken(token); if (_user == null) { return(BadRequest()); } _user.Token = null; _user.ConfirmEmail = true; await userRep.UpdateUserAsync(_user); return(RedirectToAction("Index", "Login")); }