【发布时间】: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