我已经在 ASP.NET MVC 应用程序中设置了 OWIN(包括电子邮件确认)。创建帐户后,我会收到一封电子邮件,其中包含用于确认我的电子邮件的链接。当我访问该链接时,收到“无效令牌”错误。
如果我在调试项目时采用完全相同的链接并将域更改为指向本地主机,则电子邮件确认就好。
该项目正在部署到 Azure 网站(我无法远程调试)。我已经添加了一些代码,以便在确认失败时向我发送电子邮件(以便我可以看到用户 ID 和它尝试确认的代码),并且我已经验证了它在 Azure 中尝试验证的代码与为该用户生成的代码。它似乎没有任何编码问题或类似的问题。
我用谷歌搜索了无数的东西,但一无所获。由于我无法远程调试发生问题的地方(在 Azure 网站中),我几乎没有想法。
这里可能出了什么问题?
好的,这里有一些可以尝试的事情。
如果生成 cookie 的域与确认域不同,则需要在两者之间共享计算机密钥。
如果您使用 DpapiDataProtectionProvider() 作为提供程序,则可能会遇到问题,因为您不知道您的应用程序池名称。您必须在启动时对其进行不同的配置,然后使用在您的选项中设置的应用程序池名称..不知何故!我不必这样做,因为我使用的是 aws,只需设置应用程序池名称即可。您还必须将应用程序池的 LoadUserProfile 设置设置为 true。
希望有帮助!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)