非 Facebook 用户注册

我想启用 must_approve_users 以使他们有资格成为会员——但同时,我希望 Facebook 会员自动获得资格(通常是因为我在 Facebook 上发布了指向我的 Discourse 站点的链接)。我理解 must_approve_users 是全局应用的。有没有一个插件可以让我实现这一点?

谢谢
Dan

4 个赞

您好,

据我所知,目前没有插件可以实现此功能。过去的一种解决方法是共享一个可以覆盖审批需求的邀请链接,但该链接的安全性已得到加强,请参阅 Why do I need to still approve users that I have invited?

可能值得为您提出的更改功能请求投票:

也许可以看一下 Custom Wizard Plugin :mage: 看看是否能做些什么。

最后,您或许可以设置一个自定义用户字段 + Discourse Automation 插件,但这 A) 不安全,因为人们可以随意填写用户字段 + 您仍然需要为该插件编写一个新脚本。

3 个赞

感谢您的反馈。关于我目前运行了 22 年的 phpBB 论坛的运营情况,我有两点观察:

  1. 随着 Facebook 的崛起,我的论坛的活跃度也降到了冰点。我坚信我无法与他们抗衡,所以我要加入他们。在一定程度上,如果我能将我的论坛与 Facebook 集成,并在那里进行推广,我将能带来更多流量。到目前为止,这在我的 phpBB 论坛上已被证明是正确的,因为 Facebook 用户有机会使用他们的 Facebook 凭证即时注册,无需批准,也无需邀请。

  2. 最初为了使 Facebook 集成正常工作,我不得不允许 phpBB 在无需批准的情况下进行注册;结果我收到了大量非 Facebook 垃圾注册信息。我通过进一步修改代码,恢复了除 Facebook(我没有收到垃圾邮件)之外的所有注册的批准要求。

我不认为向 Facebook 上数以千计志同道合的汽车爱好者招募注册是像我这样的论坛的答案,而是要让他们在访问时尽可能容易地自动注册。但是 phpBB 已经过时了,我认为 Discourse 是前进的方向——具有类似的注册规定。因此有了我的请求。

我更像是一个黑客而不是程序员,我不愿意将我的更改公开发布到 github 上——但如果我能在本地 git 仓库中让我的 discourse-facebook-autoapprove 插件正常工作,我将很乐意分享它作为一个起点。

谢谢
Dan

4 个赞

我更像一个黑客而不是一个编码员,我不愿意在 GitHub 上公开发布我的更改——但如果我能让我的 discourse-facebook-autoapprove 插件在本地 git 仓库中工作,我将很乐意分享它作为一个起点。

在 Claude 的帮助下,我能够开发出一个可以工作的单文件 Ruby 插件。一旦用户授权与 Facebook 共享信息——当被 Discourse 登录到 Facebook 的提示时——Discourse 账户就会被创建,并且用户会自动登录。非 Facebook 用户仍然受 必须批准用户 设置的约束。

因为我是使用本地 git 仓库开发的,所以需要在 app.yml 中进行一些更改以引用 git。我不想违反礼节,所以不会在这里分享细节——但会与任何想接手的人分享。

谢谢
Dan

2 个赞

我非常希望能看看您的代码库并试用一下,因为我们很快也会遇到类似的情况。

您对共享代码有什么顾虑吗?我当然很希望能看看它是否可以修改/扩展,以允许其他用户(例如使用 Google 身份验证、Microsoft 身份验证、LinkedIn 等)也跳过审批队列。

1 个赞

我没有任何顾虑,@nathank! 很高兴分享,我只是不想做任何不恰当的事情。

我是应该私下发给你审阅,而不是发在这里?

谢谢!
Dan

如果你愿意,可以直接通过消息发给我(如果你方便的话)。

如果它有效的话,你是否愿意让我将其在 github.com 上发布(署名或不署名,由你决定)?

1 个赞

那太棒了!我一点也不在乎署名 :zany_face: Claude 生成了一份很棒的 Markdown 文档,从头到尾,包括 plugin.rb 和对 app.yml 的更改。我会把那个发过去。

感谢你的关注和支持!这是一个很棒的产品和论坛,不是吗!

Dan

2 个赞