ASP.NET Identity 2 - UserManager.ConfirmEmail在生产中失败

时间:2014-09-17 17:10:26

标签: asp.net-identity owin azure-web-sites asp.net-identity-2 email-confirmation

我在ASP.NET MVC应用程序中设置了OWIN(包括电子邮件确认)。创建帐户后,我会收到一封电子邮件,其中包含确认我的电子邮件的链接。当我访问链接时,我得到了#34;无效令牌"错误。

如果我采用完全相同的链接,而是在调试项目时将域更改为指向localhost,则电子邮件确认无误。

该项目正在部署到Azure网站(我无法进行远程调试)。当我确认失败时,我已经扔了一些代码给我发电子邮件(这样我就可以看到用户ID和它试图确认的代码)并且我已经验证了它试图验证的代码Azure中的with与为该用户生成的代码相同。它似乎不是任何编码问题或类似的东西。

我用Google搜索了大量的东西,然后空了。由于我无法远程调试发生的问题(在Azure网站中),我几乎没有想法。

这里可能出现什么问题?

1 个答案:

答案 0 :(得分:1)

好的,这里有几件事要尝试。

如果你有一个不同的域生成cookie而不是确认,你需要在那之间共享一个机器密钥。

如果您使用DpapiDataProtectionProvider()作为提供程序,则可能会出现您的应用程序池名称未知的问题。您必须在启动时以不同方式配置它,然后使用在您的选项中设置的应用程序池名称。不知何故!我不必这样做因为我使用aws并且可以设置应用程序池名称。您还必须将应用程序池的LoadUserProfile设置为true。

希望有所帮助!