如果 您的生产和暂存站点上的 WP 用户 ID 和电子邮件相同,则无需对 Discourse 进行任何更改即可切换到生产站点。
最好仔细检查以确保用户 ID 相同。我似乎记得使用 WP Engine 的暂存和生产站点时,无法保证暂存和生产站点之间的用户 ID 会匹配——它们使用完全独立的数据库。确保您的生产和暂存站点不是这种情况。
如果您不确定暂存和生产站点之间的用户 ID 是否会匹配,并且 SSO 负载中未将 require_activation 参数设置为 true,则可以在切换到生产站点之前安全地删除 Discourse 数据库中的所有现有 SingleSignOnRecord 条目。现有用户首次通过 WordPress 登录 Discourse 时,Discourse 将根据他们的电子邮件地址查找他们,并为他们生成一个新的 SingleSignOnRecord。
可以通过 Rails 控制台删除现有的 SingleSignOnRecord 条目:
SingleSignOnRecord.destroy_all
如果 SSO 负载中 确实 将 require_activation 参数设置为 true,您仍然可以删除 Discourse 端上的 SSO 记录。在现有用户可以从您的生产站点登录 Discourse 之前,您需要将他们的电子邮件地址在 WordPress 中标记为已验证。有关如何从他们的 WordPress 个人资料页面执行此操作的详细信息,请参见此处:https://meta.discourse.org/t/validate-email-addresses-with-the-wp-discourse-plugin/130085。