我在ASP.NET MVC应用程序中设置了OWIN(包括电子邮件确认)。创建帐户后,我会收到一封电子邮件,其中包含确认我的电子邮件的链接。当我访问链接时,我得到了#34;无效令牌"错误。
如果我采用完全相同的链接,而是在调试项目时将域更改为指向localhost,则电子邮件确认无误。
该项目正在部署到Azure网站(我无法进行远程调试)。当我确认失败时,我已经扔了一些代码给我发电子邮件(这样我就可以看到用户ID和它试图确认的代码)并且我已经验证了它试图验证的代码Azure中的with与为该用户生成的代码相同。它似乎不是任何编码问题或类似的东西。
我用Google搜索了大量的东西,然后空了。由于我无法远程调试发生的问题(在Azure网站中),我几乎没有想法。
这里可能出现什么问题?
答案 0 :(得分:1)
好的,这里有几件事要尝试。
如果你有一个不同的域生成cookie而不是确认,你需要在那之间共享一个机器密钥。
如果您使用DpapiDataProtectionProvider()作为提供程序,则可能会出现您的应用程序池名称未知的问题。您必须在启动时以不同方式配置它,然后使用在您的选项中设置的应用程序池名称。不知何故!我不必这样做因为我使用aws并且可以设置应用程序池名称。您还必须将应用程序池的LoadUserProfile设置为true。
希望有所帮助!