public async Task<IHttpActionResult> ResetPassword(ResetPasswordBindingModel model) { try { if (!ModelState.IsValid) { return BadRequest(ModelState); } var user = await UserManager.FindByEmailAsync(model.Email); var token = await UserManager.GeneratePasswordResetTokenAsync(user.Id); IdentityResult result = await UserManager.ResetPasswordAsync(user.Id, token, model.Password); if (!result.Succeeded) { return GetErrorResult(result); } } catch (Exception ex) { Elmah.ErrorSignal.FromCurrentContext().Raise(ex); return BadRequest(ex.Message); } return Ok(); }
public async Task<IHttpActionResult> ResetPassword(ResetPasswordBindingModel model) { try { if (!ModelState.IsValid) { return BadRequest(ModelState); } var user = await UserManager.FindByEmailAsync(model.Email); var token= model.Code.Replace('$', '/'); //var token = await UserManager.GeneratePasswordResetTokenAsync(user.Id); IdentityResult result = await UserManager.ResetPasswordAsync(user.Id, token, model.Password); if (!result.Succeeded) { return BadRequest("{\"status\" : false, \"message\" : \"Your link has been expired please try again.\"}"); } } catch (Exception ex) { Elmah.ErrorSignal.FromCurrentContext().Raise(ex); return BadRequest(ex.Message); } return Ok(); }