我在一个请求中生成了一个重置密码令牌,但是当我想在下一个请求中重置密码时,它说令牌无效。
public async Task<string> GetResetToken(string userId)
{
var token = await _userManager.GeneratePasswordResetTokenAsync(userId);
return token;
}
public async Task<IdentityResult> ResetPassword(string userId, string token, string newPassword)
{
var result = await _userManager.ResetPasswordAsync(userId, token, newPassword);
return result;
}
这两个函数由它们各自的 API 端点调用。整个流程的流程是:
- 在网站上输入电子邮件
- API 生成一个令牌,并发送一封带有重置链接的电子邮件
- 重置链接会将您带到重置密码页面
- 页面再次点击API重置密码
除第 4 步外,一切正常,因为 API 只是返回无效令牌。我检查了生成的令牌与步骤 4 中收到的令牌完全相同。