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()); }