我尝试通过 http://mysite.com/users/admin-login 登录。
我的 Discourse 应用向我发送了一封包含登录链接的邮件,我点击该链接后被重定向到一个带有“完成登录”按钮的页面。我点击该按钮后,系统提示:
邮件登录链接已过期
这是怎么回事?我确定该链接根本没有过期。
附注:已设置 “SiteSettings.force_https = false”。
提前感谢。
我尝试通过 http://mysite.com/users/admin-login 登录。
我的 Discourse 应用向我发送了一封包含登录链接的邮件,我点击该链接后被重定向到一个带有“完成登录”按钮的页面。我点击该按钮后,系统提示:
邮件登录链接已过期
这是怎么回事?我确定该链接根本没有过期。
附注:已设置 “SiteSettings.force_https = false”。
提前感谢。
您的服务器时间是否正确?我指的是运行 Discourse 的服务器。如果服务器时间不正确,可能会导致此问题。
是的,正确,是 UTC。还有其他需要检查的吗?
不是时区,是时间。
当然,时间是正确的。
这很可能是一个错误,因为很少有理由这样做,但它与当前问题无关。
我唯一见过此错误的情况是服务器上的系统时钟偏差了哪怕几分钟。建议您再次仔细检查时间和日期。
我想为这个问题提供一个可能的解决方案,供将来搜索的人参考。最近从不同的论坛软件迁移到 Discourse 后,我的几位用户遇到了“登录链接太旧”的问题。
问题出在他们电子邮件地址中的大写字母。Discourse 非常非常不喜欢它们。一个简单的 SET email = LOWER(email) 查询可以立即解决问题。