WP(SSO)+ LMS + Discourse 建议/最佳实践?

你好!

我还在阅读关于使用 WP SSO 的旧帖子,但我很想知道,如果我们分享自己的路线图,是否能获得一些建议。有哪些地方需要我们特别注意?有哪些做法应该避免?

我们的技术栈:

  • WordPress(基础平台)
  • MemberPress(管理用户账户)
  • LearnDash(LMS,课程创建)
  • Discourse(私密的会员社区)

我们期望的新会员引导流程:

  1. 访客来到我们的 WordPress 网站(内容营销)并转化为付费会员。
    – 我们考虑提供 24 小时免费试用(含自动转换)。
  2. WP Discourse 插件(SSO)自动创建 Discourse 账户(信任等级 TL0)。
  3. TL0 用户仅拥有对大部分分类的只读访问权限。
  4. 从 TL0 晋升到 TL1 需要发布至少 5 分钟的自我介绍帖。
  5. 24 小时后,系统自动扣款,会员资格正式生效,用户自动晋升为 TL1。

WP SSO 将负责账户管理,确保只有当前付费会员才能访问社区和 LMS 内容。

我想知道是否有更简单或更好的实现方式。降低新会员的进入门槛很重要,但确保长期的可扩展性同样关键,对吧?

非常感谢您的任何见解。谢谢!

根据您的入职清单,看来您希望覆盖 Discourse 的信任等级系统。我认为更好的方法是利用 Discourse 的群组权限来控制网站内容的访问权限。有关具体操作说明,请参阅:https://meta.discourse.org/t/how-to-use-category-security-settings-to-control-access-to-content/87678。

WP Discourse 插件提供了一些功能,可用于将用户添加或移除出群组。详细信息请参阅该主题帖:https://meta.discourse.org/t/managing-discourse-group-membership-with-wp-discourse/74724。该主题以 PaidMembershipsPro 插件为例,但相同思路也适用于 MemberPress。

另一篇可能包含有用信息的主题帖是:https://meta.discourse.org/t/how-to-prevent-some-wp-users-from-being-able-to-login-to-discourse/93234。

谢谢你,Simon。我一定会先/接着阅读这些主题。非常感谢。

那些帖子很有帮助。我已经安装并连接了 WP Discourse 和 Discourse。我甚至可能有一些新的(更好的)关于用户引导体验的想法。谢谢你,@simon

不过,我还没有做出任何关于单点登录(SSO)的决定。越读关于这方面的内容,我的脑子就越转圈,甚至有点晕。能否再麻烦你提供一些建议?

背景:WordPress 与 MemberPress + Discourse + LearnDash……并且希望对所有非博客内容设置付费门槛……

如果 Discourse 是 SSO 客户端,我们将使用 MemberPress 在 WordPress 中管理账户并控制对 LearnDash 课程的访问。这是我们一开始就采用的方式,因此从逻辑上讲是合理的,尽管未必符合实施或可扩展性的最佳实践。

如果 Discourse 是 SSO 提供者,我们就需要在 Discourse 端寻找并实现一个付费网关(说实话,目前我看到的方案都难以让人放心)。如果我们能把 MemberPress 从 WordPress 端移除,这种切换或许值得,但我不确定这如何实现:让 WordPress 中同步的用户以会员价访问 LMS 内容,而普通公众则看到全价。

这样解释清楚吗?我尽量说清楚了,但自己也有点晕头转向。

我觉得给 Jay 发一封邮件就能解决这些问题,但每一分花在开发上的钱,都是我们初创计划中少掉的一分钱。(越来越觉得我们应该听从 Jay 的建议。):wink:

谢谢。

关于这个技术栈/前端的一个有趣进展。@simon 很好奇你的看法。

  • MemberPress 负责会员管理和支付处理。这很简单。
  • MemberPress 旨在管理对本地 WordPress 内容的访问权限。
  • MemberPress 无权通过 SSO 限制对 Discourse 的访问。

我发现,当某人的信用卡被拒付时,他们的会员资格会被暂停,但由于他们仍然可以登录 WordPress,因此他们仍可通过 SSO 访问 Discourse。

让 SSO 插件在允许某人登录 Discourse 之前,考虑其会员状态(来自 MemberPress),会有多大的麻烦?

我觉得我们目前的集成方式既具有成本效益又足够简单,如果 SSO 插件能处理这一点,我们在可预见的未来就会一切顺利。但我也觉得这条路径可能会导向需要大量定制开发的工作。

就个人而言,我们越能保持事物接近 Discourse 的“开箱即用”状态,对我们越有利。

再次感谢你的建议。抱歉打扰了,Simon。:slight_smile:

如果你能查明 MemberPress 是如何确定哪些用户有权访问 WordPress 上的受保护内容,那么同样的数据也可用于限制 Discourse 的 SSO 登录。为此,你需要在该主题的第二条帖子中的两个函数里添加一个条件语句:如何阻止部分 WordPress 用户登录 Discourse。该条件语句应在用户账户被暂停时返回 true

你希望实现的目标是可行的,但你可能需要一位 WordPress 开发人员的帮助,以确定在上述两个函数中应写入何种条件语句。

一如既往,谢谢你,Simon。

说实话,刚才 review 完那段代码,我的脑子都有点疼了,但我还是会把它搞定。:slight_smile:

如果您在我们的 Marketplace 分类中创建一个新主题,本站可能有人能为您提供帮助。我注意到有一个旧的市场主题与您的目标相似:https://meta.discourse.org/t/hiring-integrate-our-discourse-with-memberpress-for-membership-site/104033。

谢谢你的建议,Simon。我会去看看的!