0

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

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

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

我用谷歌搜索了无数的东西,却一无所获。而且由于我无法远程调试它发生的问题(在 Azure 网站中),我几乎没有想法。

这里可能出了什么问题?

4

1 回答 1

2

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

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

如果您使用 DpapiDataProtectionProvider() 作为您的提供者,您可能会遇到一个问题,因为您不知道您的应用程序池名称。您必须在启动时对其进行不同的配置,然后使用在您的选项中设置的应用程序池名称......不知何故!我不必这样做,因为我使用的是 aws 并且可以设置应用程序池名称。您还必须将应用程序池的 LoadUserProfile 设置设置为 true。

希望有帮助!

于 2014-09-17T18:13:52.460 回答