public async Task <IActionResult> ForgetPassword([FromBody] ForgetPasswordInput forgetPasswordInput) { var user = await userManager.FindByNameAsync(forgetPasswordInput.Email); if (user == null || user.EmailConfirmed == false) { return(BadRequest()); } var resetPasswordToken = await userManager.GeneratePasswordResetTokenAsync(user); return(Ok(resetPasswordToken)); }
public async Task <ForgetPasswordOutput> ForgetPassword(ForgetPasswordInput input) { var user = await UserManager.Users.FirstOrDefaultAsync(p => p.UserName == input.UserName); if (user == null) { throw new UserFriendlyException("用户不存在"); } if (user.Question != input.Question || user.Answer != input.Answer) { throw new UserFriendlyException("密保不正确"); } user.Password = _passwordHasher.HashPassword(user, input.Password); await UserManager.UpdateAsync(user); var result = await UserManager.SetLockoutEnabledAsync(user, false); return(new ForgetPasswordOutput()); }