Пример #1
0
        public async Task <IActionResult> RequestResetPassword(RequestResetPasswordViewModel viewModel)
        {
            if (!ModelState.IsValid)
            {
                return(View(viewModel));
            }

            var user = await m_identityUserManager.FindByNameOrEmailAsync(viewModel.Username);

            if (user == null)
            {
                ModelState.AddModelError(Translator.Translate("user-not-exist", "RequestResetPasswordViewModel"));
                return(View(viewModel));
            }

            if (!await m_identityUserManager.IsEmailConfirmedAsync(user))
            {
                ModelState.AddModelError(Translator.Translate("user-email-not-confirmed", "RequestResetPasswordViewModel"));
                return(View(viewModel));
            }

            try
            {
                await m_identityUserManager.SendResetPasswordAsync(Url, user, HttpContext.Request.Scheme);

                return(RedirectToAction(nameof(RequestResetPasswordSuccess), new { returnUrl = viewModel.ReturnUrl }));
            }
            catch (GenerateResetPasswordTokenException)
            {
                ModelState.AddModelError(Translator.Translate("generate-reset-password-token-exception", "RequestResetPasswordViewModel"));
                return(View(viewModel));
            }
        }
Пример #2
0
        public IActionResult RequestResetPassword(string returnUrl = null)
        {
            var model = new RequestResetPasswordViewModel
            {
                ReturnUrl = returnUrl
            };

            return(View(model));
        }
Пример #3
0
 public IActionResult ResetPassword([FromBody] RequestResetPasswordViewModel viewModel)
 {
     try
     {
         var user = _userService.GetUser(viewModel.Email);
         _emailService.SendResetPassword(user.Email);
         return(Ok());
     }
     catch (ArgumentException)
     {
         return(BadRequest());
     }
     catch (Exception)
     {
         return(StatusCode(StatusCodes.Status500InternalServerError));
     }
 }
Пример #4
0
        public IActionResult RequestResetPasswordView()
        {
            var model = new RequestResetPasswordViewModel();

            return(View(model));
        }