【问题标题】:Email Confirmation ASP.NET Identity 2 OWIN MVC and API Invalid Token电子邮件确认 ASP.NET 身份 2 OWIN MVC 和 API 无效令牌
【发布时间】:2015-02-15 12:42:12
【问题描述】:

我正在尝试让 ASP.NET Identity 2.0 用于电子邮件验证。用户帐号创建成功,并发送验证邮件。

如果我在 web api 控制器中验证令牌,它就可以工作。 如果我在 mvc 控制器中验证令牌,它不会,我不确定我做错了什么。

MVC 控制器返回的错误是“Invalid token” api 和 mvc 在不同的端口上运行,并且存在于单独的程序集中。

这里是相关部分的一些代码片段。

//Startup.cs
app.CreatePerOwinContext<ApplicationUserManager>(ApplicationUserManager.Create);

//ApplicationUserManager.cs

manager.EmailService = new EmailService();
var dataProtectionProvider = options.DataProtectionProvider;
manager.UserTokenProvider = new DataProtectorTokenProvider<ApplicationUser>(dataProtectionProvider.Create("ASP.NET Identity"));



//MVC Controller

public ApplicationUserManager UserManager
        {
            get { return this._userManager ?? this.HttpContext.GetOwinContext().GetUserManager<ApplicationUserManager>(); }
            private set { this._userManager = value; }
        }
...
UserManager.ConfimEmailAsync(userid,ConfirmationCode)


//Web API Controller
var result = this.UserManager.ConfirmEmail(model.UserId, model.ConfirmationToken);

【问题讨论】:

    标签: asp.net asp.net-mvc asp.net-web-api owin asp.net-identity-2


    【解决方案1】:

    这篇文章有帮助。 ASP.NET Identity 2 - UserManager.ConfirmEmail Fails In Production

    为了解决这个问题,我为 api 和 mvc 项目的 web.config 添加了匹配的 machineKey。电子邮件验证开始工作。

    【讨论】:

      猜你喜欢
      • 2015-12-13
      • 2018-03-19
      • 1970-01-01
      • 2015-02-16
      • 2016-06-07
      • 2015-08-17
      • 2014-09-16
      • 2014-10-20
      • 2020-08-07
      相关资源
      最近更新 更多