Visual Studio 2013 / MVC 5 / 身份 2
使用内置电子邮件确认还是有点新意...
在本地主机下测试 - 没有错误
在生产中 - 当用户尝试确认电子邮件时出现错误
var result = await UserManager.ConfirmEmailAsync(userId, code);
在服务器上,result.Succeeded 始终为 false。
我应该在哪里查看错误?它在 GoDaddy 服务器上,所以我没有完全访问权限...
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"));
确保在启动过程中创建它,这将帮助您为每个请求保留一个。
我认为这里的答案是正确的——在你的 web.config 中使用 mashineKey 会让你发生。