public async Task <IActionResult> PasswordResetEmail([FromBody] PasswordEmailModel model)
        {
            if (string.IsNullOrEmpty(model.Email))
            {
                return(BadRequest(new { message = "Email must be provided to reset password." }));
            }

            await _userService.SendPasswordReset(model.Email);

            return(Ok());
        }
Beispiel #2
0
        public ActionResult <PasswordEmailModel> SendPasswordEmail([FromBody] PasswordEmailModel passwordEmailModel)
        {
            User user;

            try {
                user = _userService.GetByEmail(passwordEmailModel.Email);
            } catch (RequestException) {
                return(BadRequest(new { message = "Email is not found" }));
            }

            TokenCreationParams tokenCreationParams = _tokenCreatorValidator.CreateToken(user.Id, 30);

            user.RecoverySalt = tokenCreationParams.SaltBytes;
            _userService.Update(user);

            MailSender.SendRecoveryMail(user, tokenCreationParams.TokenStr);


            return(Ok(new PasswordEmailModel(user.Email)));
        }