出现此问题的可能原因是密码重置令牌被另一个用户使用或过期。
以下是一些可能解决此问题的方法:
var resetTokens = await _userManager.GetValidTwoFactorProvidersAsync(user);
foreach (var tokenType in resetTokens)
{
var result = await _userManager.ResetAuthenticatorKeyAsync(user);
}
var result = await _userManager.ResetPasswordAsync(user, token, newPassword);
if (!result.Succeeded)
{
ModelState.AddModelError("", "重置密码失败 !");
return View(model);
}
var user = await _userManager.FindByIdAsync(userId);
var result = await _userManager.ResetPasswordAsync(user, token, newPassword);