Exemplo n.º 1
0
        public async Task <IActionResult> ForgotPassword([FromBody] ForgotPasswordRequest request)
        {
            if (string.IsNullOrEmpty(request.Email))
            {
                ModelState.AddModelError("email", "Please provide your email address.");
                return(BadRequest(new ValidationProblemDetails(ModelState)));
            }
            var user = await _userManager.FindByEmailAsync(request.Email);

            if (user == null)
            {
                return(NoContent());
            }
            var code = await _userManager.GeneratePasswordResetTokenAsync(user);

            await _emailService.SendAsync(user.Email, _userManager.MessageDescriber.ForgotPasswordMessageSubject, _userManager.MessageDescriber.ForgotPasswordMessageBody(user, code));

            return(NoContent());
        }