You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

.NET 5 MVC Identity注册页发出的重置密码链接跳转报错如何解决

问题原因
  • 你在注册逻辑中生成重置密码链接时,参数名与Identity脚手架自带的ResetPassword页面约定的参数名不匹配:自带的ForgotPassword逻辑传递的重置凭证参数名为code,而你自定义的逻辑中用了passwordToken作为参数名,页面加载时读取不到code参数就会抛出你遇到的提示。
  • 额外注意:默认ResetPassword页面还需要userId参数定位待重置密码的用户,你当前的生成逻辑中也缺少该参数。
修复方案

修改注册页中生成重置密码链接的代码,调整参数名、补充userId参数即可,修改后的代码参考如下:

var passwordToken = await _userManager.GeneratePasswordResetTokenAsync(user);
passwordToken = WebEncoders.Base64UrlEncode(Encoding.UTF8.GetBytes(passwordToken));
var resetPasswordCallbackUrl = Url.Page(
    "/Account/ResetPassword",
    pageHandler: null,
    // 调整参数名、补充userId字段
    values: new { area = "Identity", userId = user.Id, code = passwordToken },
    protocol: Request.Scheme);

修改完成后重新测试即可正常跳转重置密码页面。

内容的提问来源于stack exchange,提问作者Mohamad Hammash

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 09:15:03