我制作了一个方法来获取重置令牌并在单个路由中重置护照,它在单个路由中工作得很好,如下所示:
[HttpGet("ResetPassword")]
[AllowAnonymous]
public async Task<IActionResult> ResetPassword(string userId)
{
var Password = "Random@123";
var user = await _userManager.FindByIdAsync(userId);
var token = await _userManager.GeneratePasswordResetTokenAsync(user);
var resetStatus = await _userManager.ResetPasswordAsync(user, token, Password);
}
但是如果我把GeneratePasswordResetTokenAsync和ResetPasswordAsync分开到不同的路由,我会得到无效令牌的错误,我尝试降低URL编码和所有其他可用的解决方案,但它没有工作,我也实现了自定义令牌处理程序,如自定义令牌处理程序所建议的。但是得到相同的错误
我解决了。是数据库的问题。我用一个新的数据库和一个新的迁移脚本配置了它,现在它正在工作。