我正在使用最新的.NET Core(1.1)和EF Core来构建我的ASP.NET网站,我还使用了ASP.NET Identity,并已经将我的网站发布到Azure主机上,一切都按预期工作(包括我的Windows本地主机)。然而,现在我要切换到自己的Linux(Centos 7)专用服务器,使用Apache,我已经让网站运行了,但是当我尝试重置密码或确认电子邮件时,会出现“无效令牌”消息。
我已经检查了其他类似的问题,解决方案是对通过电子邮件发送的URL进行编码/解码,但我已经这样做了,但仍然不起作用。
我还尝试将整个数据库从本地主机复制到我的服务器上,以防Linux主机上的迁移存在问题,但这也没有帮助。所有迁移都被应用,而其他不使用Identity上下文的东西也有效。
在进一步搜索后,我发现可能是主机上的不同机器密钥造成的问题,安全标记未同步,但我不明白为什么会影响我,因为我将一个全新版本的应用程序部署到服务器上,在本地主机和Azure托管上一切都正常。此外,这曾经是ASP.NET MVC的问题,而不是Core的问题。
我该如何调试这个问题?我没有看到任何人在新的EF Core上遇到这个问题,尤其是在Linux主机上。
我使用最新的VS 17部署网站。我按照官方.NET Core网站上的指导设置了Apache代理:链接。
我已经检查了其他类似的问题,解决方案是对通过电子邮件发送的URL进行编码/解码,但我已经这样做了,但仍然不起作用。
我还尝试将整个数据库从本地主机复制到我的服务器上,以防Linux主机上的迁移存在问题,但这也没有帮助。所有迁移都被应用,而其他不使用Identity上下文的东西也有效。
在进一步搜索后,我发现可能是主机上的不同机器密钥造成的问题,安全标记未同步,但我不明白为什么会影响我,因为我将一个全新版本的应用程序部署到服务器上,在本地主机和Azure托管上一切都正常。此外,这曾经是ASP.NET MVC的问题,而不是Core的问题。
我该如何调试这个问题?我没有看到任何人在新的EF Core上遇到这个问题,尤其是在Linux主机上。
我使用最新的VS 17部署网站。我按照官方.NET Core网站上的指导设置了Apache代理:链接。