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



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

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

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

我在谷歌上搜索了无数东西,结果都是空的。由于我无法远程调试(在Azure网站中)正在发生的问题,我几乎没有主意。

这里可能出了什么问题?

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

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

如果您使用DpapiDataProtectionProvider()作为提供程序,您可能会遇到应用程序池名称未知的问题。你必须在启动时对其进行不同的配置,然后使用在选项中设置的应用程序池名称。。以某种方式我不必这么做,因为我正在使用aws,只需设置应用程序池名称即可。您还必须将应用程序池的LoadUserProfile设置设置为true。

希望能有所帮助!

相关内容

  • 没有找到相关文章

最新更新