首页 > 解决方案 > ASP.NET MVC 身份检查和确认电子邮件确认(无效令牌)

问题描述

我的应用程序与标准电子邮件确认过程有点不同,我似乎无法弄清楚为什么它不能正常工作。

应用逻辑:

  1. 检查电子邮件是否已确认
  2. 如果没有,请设置 POSTed 密码
  3. 最后,确认邮箱


if (ModelState.IsValid)
{

   if (!await UserManager.IsEmailConfirmedAsync(userId))
   {

      var setPassword = await UserManager.AddPasswordAsync(userId, model.NewPassword);

       if (setPassword.Succeeded)
       {
          var setConfirmedEmail = await UserManager.ConfirmEmailAsync(userId, code);

          if (setConfirmedEmail.Succeeded)
          {
             ...
          }  

       }

   }

   return RedirectToAction("Login");   

 }

执行时 setConfirmedEmail 会引发“ Invalid Token ”错误。我认为这是因为我先调用 IsEmailConfirmedAsync,然后再调用 ConfirmEmailAsync?

任何指导将不胜感激。

标签: asp.netemailmodel-view-controllerpasswordsconfirmation

解决方案


推荐阅读