身份 UserManager ConfirmEmailAsync 错误

Idenitity UserManager ConfirmEmailAsync error

Visual Studio 2013/MVC 5/身份 2

对使用内置电子邮件确认还是有些陌生...

在本地主机下测试 - 没有错误

在生产中 - 当用户尝试确认电子邮件时我收到错误消息

var result = await UserManager.ConfirmEmailAsync(userId, code);

在服务器上,result.Succeeded 始终为 false。

我应该在哪里查看错误?它在 GoDaddy 服务器上,所以我没有完整的访问权限...

你在哪里为用户管理器创建“UserTokenProvider”?

我认为这与此有关,因为你需要确保,

UserManager.GenerateEmailConfirmationTokenAsync(user.Id);

UserManager.ConfirmEmailAsync(userId, code);

两者使用相同的 DataProtectorTokenProvider

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

确保在启动期间创建它,这将帮助您为每个 owin 请求保留一个。

我认为正确答案 - 在您的 web.config 中使用 mashineKey 让您成功。