예제 #1
0
        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"));
        }
예제 #2
0
        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"));
        }