邀请码链接仅对不存在的用户有效破坏了我们当前的实现

您好

之前曾报告过此 bug 问题(https://meta.discourse.org/t/logged-in-users-have-no-way-to-navigate-back-after-using-a-redeemed-invitation-link/248261/),问题在于现有用户将无法再访问“到达主题”。此重定向问题最近已得到修复(感谢 @lindsey@zogstrip)。

但是,修复的同时出现了一个新问题,即使用链接的现有用户不再被添加到“添加到组”中指定的组。这完全破坏了我们为所有现有用户使用邀请链接的实现,因为最重要的是,除了将现有用户重定向到主题之外,我们还使用“添加到组”来授予他们访问私有类别的权限,并使用 webhook 进行外部集成(详细用例在此处(https://meta.discourse.org/t/use-invite-system-to-invite-course-participants-to-topic-in-secure-category/222106)和此处(https://meta.discourse.org/t/new-accept-invitation-prompt-feature-causing-issues-with-invitation-links/245115)进行了解释)。




尊敬的 Discourse 团队(抄送:@lindsey
我敦促您尽快对此进行查看,因为这会影响我们的实施,而且非常紧急。
谢谢!


对于现有用户来说,这似乎有点奇怪。邀请是针对新用户的。作为管理员,为什么不直接将现有用户添加到群组中呢?

因为我们依赖他们点击邀请链接,并且一直在使用“添加到组”功能。这也有助于我们使用的自动化:

  1. 学习者点击链接
  2. 无论是现有用户还是新用户,他们都会被添加到组中并重定向到一个主题帖子
  3. 该主题帖子位于一个私有类别中,只有被添加到组中的人才能查看(但现在只有新用户可以查看这些主题,因为[现有用户]不再被添加到组中,因此进行了新的更改)
  4. 在某些情况下,当他们被添加到组中(点击链接后),我们会将其连接到 webhook,该 webhook 会授予徽章,或者在此步骤的基础上执行其他自动化。

这在过去大约两年半的时间里一直运行得非常完美。

1 个赞

@gassim,只是想告诉你,我们还在讨论这个问题。很快会有更多信息告诉你!

2 个赞

@gassim,感谢您在我们调查此问题期间的耐心等待。恐怕简而言之,您用例并非我们设计邀请功能的初衷,并且很难对邀请功能进行改编以支持它。

正如设计的那样,邀请旨在引导新用户完成注册过程,而不是更改现有用户。我们进行了一些挖掘,并认为我们在 2022 年进行了一次安全修复,该修复禁用了您在此描述的现有用户使用邀请链接的功能。

邀请功能对我们来说是一个棘手的问题,因为它涉及许多安全隐患,因此重新引入此功能对我们来说并非易事。我们需要对邀请功能进行重大重构,才能有效地支持您将邀请用于新用户和现有用户的用例。

我理解支持您的用例很重要,而这些信息可能会让您感到失望!但是,我怀疑您想要的东西可以通过其他方式实现。我建议您先查看 Discourse Automation — 我们有一些关于如何自动将用户添加到组的文档,这可能符合您的需求:Adding users to groups through custom field automation

如果您在这方面需要更多帮助,请打开一个 SupportFeature 主题,我们可以从那里继续。

1 个赞

此主题已在 2 天后自动关闭。不再允许回复。