public IHttpActionResult ResetPassword(PasswordResetBindingModel model) { var user = UserManager.FindById(model.UserId); if (user != null) { var code = Uri.UnescapeDataString(model.Code); IdentityResult result = UserManager.ResetPassword(model.UserId, code, model.NewPassword); if (result.Succeeded) { return(Ok()); } } return(NotFound()); }
public async Task <IHttpActionResult> ResetPassword(PasswordResetBindingModel model) { var provider = new DpapiDataProtectionProvider("ReportManagement"); this.AppUserManager.UserTokenProvider = new DataProtectorTokenProvider <ApplicationUser, string>(provider.Create("UserToken")) as IUserTokenProvider <ApplicationUser, string>; string resetToken = await this.AppUserManager.GeneratePasswordResetTokenAsync(model.UserId).ConfigureAwait(true); if (resetToken != null) { IdentityResult result = await this.AppUserManager.ResetPasswordAsync(model.UserId, resetToken, model.NewPassword).ConfigureAwait(true); if (!result.Succeeded) { return(GetErrorResult(result)); } } return(Ok("Password reset successfully")); }