Discourse WordPress插件在别名域名上不自动登录用户

大家好,

我们遇到了一个 WordPress 定制场景,该场景正在破坏 Discourse 插件的功能。

场景

  1. 我的网站是 WordPress 网站。假设是 abc.com
  2. 我安装了 Discourse WordPress 插件,并且在登录 WordPress 后,该插件可以正常工作以登录 Discourse。我只需点击 Discourse 上的登录按钮,用户即可自动登录。
  3. 社区托管在 community.abc.com
  4. 现在,我为我的网站创建了一个域名别名,作为客户的白标解决方案。假设新域名是 abc.client.com
  5. 这个新域名允许客户以完全白标的方式访问网站。我们不希望他们通过 abc.com 域名访问任何内容。
  6. 现在,当来自客户方的用户登录到 abc.client.com(WordPress 白标网站)时,然后点击社区链接,他们会被重定向到 community.abc.com
  7. 当用户点击社区上的登录按钮时,他们不会自动登录到 Discourse 网站,而是页面被重定向到 abc.com/login/?redirect_to=%2Flogin%3Fsso
  8. 这种重定向是不理想的,因为用户必须先登录到 abc.com,然后才能访问 community.abc.com
  9. 问题——用户登录到 abc.client.com 后,是否有办法登录到 Discourse 社区?

这可能是由于使用了域名别名而导致 webhook 更改的问题。是否有解决此问题的方法?用户是否必须登录到 abc.com 才能登录到 Discourse 社区?是否可以有两个域名登录到同一个 Discourse 社区?

感谢您的支持。

您好 @Himanshu_Singh

首先,我不明白您为什么不直接将域名 abc.com 改为 abc.client.com?为什么需要两个域名?

其次,

重定向链接由您在 community.abc.com 上的 discourse connect url 站点设置决定,我猜它仍然设置为 abc.com

@angus 好的

问得好——我们正在为不同的合作伙伴构建多个白标解决方案,因此我们将拥有多个合作伙伴网址(abc.client1.comabc.client2.com 等),同时保留我们用于直接业务的主网址(abc.com)。将这些合作伙伴视为可以使用我们产品进行日常运营的联盟。

有没有办法根据登录 WP 时使用的站点网址动态设置 discourse connect url

谢谢。

您需要构建一个 Discourse 插件来实现此目的。