WP Multisite 与多个 Discourse 实例

就 Discourse 与 WordPress 的集成而言,我有些脱节了——尤其是在多站点(multisite)设置方面。有关详情,请参阅:https://meta.discourse.org/t/pavilion-is-now-maintaining-and-developing-the-wp-discourse-plugin/168007/2。

我认为自从我发布此帖子以来,情况并未发生变化:https://meta.discourse.org/t/discourse-as-sso-provider-for-wordpress-multisite/119617/2。不过,该帖子中的信息值得单独开辟一个主题讨论。

您可以在多站点网络上使用 Discourse 作为 SSO 提供商。但仅当您将单个 Discourse 站点设置为该网络上所有站点的 SSO 提供商时,该功能才会被启用。原因是在多站点网络中,所有用户都存储在同一个数据库表中。如果允许多个 Discourse 站点作为网络中多个站点的 SSO 提供商,则无法简单保证保存在 WordPress 中的 Discourse 用户 ID 是唯一的。

WP Discourse 插件安装在多站点网络上时,网络管理菜单中会添加一个 Discourse 选项卡。要将 Discourse 配置为网络上所有站点的 SSO 提供商,请进入网络管理页面,从菜单中选择 Discourse。选择“启用多站点配置”选项,然后填写连接设置。接着向下滚动页面至 SSO 设置部分,选择“启用 SSO 客户端”选项。输入您的 SSO 密钥并保存设置页面。

需要注意的是,在多站点网络上启用 SSO 客户端功能可能会使您 Discourse 论坛上的任何用户都能访问您网络中的任何站点。

基本上,如果您试图通过 Discourse 作为 WordPress 多站点网络的 SSO 提供商来实现除此之外的其他目标,那就只能自行探索了。从技术上讲,允许多个 Discourse 站点作为 WordPress 网络中各个独立站点的 SSO 提供商是可行的,但所需的配置将过于复杂。我认为这永远不会被添加到 WordPress 插件中。

1 个赞