Пример #1
0
        public async Task <ActionResult> RecoverPassword([FromBody] RecoverPasswordDto dto)
        {
            var user = await _authRepository.ValidateUser(dto.Email);

            if (user == null)
            {
                ModelState.AddModelError(string.Empty, "El correo electrónico no corresponde a un usuario registrado..");
                return(NotFound(ModelState));
            }
            await _authRepository.SendMailRecoverPassword(user);

            return(Ok());
        }
Пример #2
0
        public async Task <IActionResult> RecoverPassword(RecoverPasswordDto recoverPasswordDto)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            var user = await _accountService.FindByEmailAsync(recoverPasswordDto.Email);

            if (user == null)
            {
                return(NotFound());
            }

            var token = await _accountService.GeneratePasswordResetTokenAsync(user);

            var callback = Url.PageLink("/ResetPassword", values: new { token, email = user.Email }, protocol: Request.Scheme);

            await _accountService.SendRecoverPasswordMailAsync(recoverPasswordDto, callback);

            return(Ok());
        }
Пример #3
0
 public async Task SendRecoverPasswordMailAsync(RecoverPasswordDto recoverPasswordDto, string url)
 {
     var message = new Message(new string[] { recoverPasswordDto.Email }, "Password Recovery", url);
     await _emailSender.SendEmailAsync(message);
 }