public async Task <IActionResult> ResetPassword([FromBody] ResetPassDto model) { Response response = new Response(); //get user by email var userInfo = _userManager.Users.SingleOrDefault(x => x.SecurityStamp == model.Token); if (userInfo != null && !string.IsNullOrEmpty(model.Token)) { var result = await _userManager.ResetPasswordAsync(userInfo, userInfo.SecurityStamp, model.Password); if (result.Succeeded) { response.Messages.Add("Password cambiada con exito"); return(Ok(response)); } else { response.AddErrors(result.Errors); return(BadRequest(response)); } } return(NotFound()); }
public async Task <ActionResult> ResetPassword(ResetPassDto model) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } try { var intialInfo = await GetTenantDbInfo(model.HostName); if (intialInfo == null || string.IsNullOrEmpty(intialInfo.TenantDBServer)) { ModelState.AddModelError("", "Invalid Host Name."); return(BadRequest(ModelState)); } string userResult = await _loginService.ResetUserPassByToken(intialInfo.GetConnectionString(), model.Email, model.Token, model.Password); if (!string.IsNullOrEmpty(userResult)) { return(StatusCode(StatusCodes.Status401Unauthorized, userResult)); } else { return(Ok("Password Reset Successfully.")); } } catch (Exception ex) { _logger.LogError(ex.StackTrace); return(StatusCode(StatusCodes.Status500InternalServerError, "Something went wrong!")); } }