我开始到处看到 Discourse,对此我感到无比高兴!它似乎正迅速成为那些希望快速搭建新讨论论坛,或基于旧平台和过时用户体验模式替换现有论坛的社区的首选方案。
然而,从某些方面来看,Discourse 似乎成了自身成功的受害者——每次我想在一个新的 Discourse 社区发帖时,都需要创建账户、设置密码等等。虽然有些社区已经通过 GitHub、社交媒体等设置了 OAuth,但许多社区并没有这样做。为了问一个问题、提供一个答案,甚至只是对我觉得有帮助的答案点一个❤️,我都不得不在他们的 Discourse 服务器上创建并验证一个新账户。
相比之下,我在 StackExchange 网络上的体验就友好得多。当我首次想与某个社区互动时,会看到一个“加入此社区”的按钮。点击该按钮后,系统会提供使用我在其他社区的登录信息注册的选项:
新账户会自动创建,并只需一次点击即可登录。
我认为我的问题在于,Discourse 社区似乎默认每个社区都是独立的“孤岛”,用户整天登录在单个论坛上,等待回复和新问题,通过赚取徽章和积累权限来享受乐趣。而现实中,绝大多数用户的互动都是需求驱动的,只有极少数用户会定期参与以支撑社区。我认为,普通用户与 Discourse 社区的互动过程大致如下:
- 遇到问题
- 在 Google 上搜索答案
- 在互联网上(包括该组织的 Discourse 论坛)找不到解决方案
- 决定我的问题足够紧迫,值得在论坛上创建账户
- 提出我的问题,或在现有问题下发表评论
- 获得他人的回答,或最终自己找到解决方法
- 如果我是自己解决的,并且愿意回馈社区,我会将解决方案反馈到 Discourse 论坛
- 回归日常生活
- 几年后,再次遇到问题,努力回忆我的登录凭证,以便重新登录论坛
- 重复步骤 5 到 10
这一过程中的许多环节都因需要为每个新论坛创建新账户而受到阻碍。
我意识到,StackExchange 社区由一家中心公司管理,而 Discourse 社区则是完全去中心化托管的。但在我看来,Discourse 完全可以建立自己的身份提供商服务来实现这一功能。与集成 GitHub 或 Facebook 等第三方服务不同(后者需要论坛管理员在外部网站上主动操作以设置 OAuth),Discourse 的“使用 Discourse 登录”按钮所需的令牌似乎可以通过标准安装过程自动配置。
我知道关于这个问题已经有过 其他讨论,但这些讨论似乎范围过于复杂,且偏离了主题。
2 个赞
sunjam
(james.network)
2
那是另一种类型的联合,将 Discourse 与 Mastodon 等工具连接起来,用于帖子和回复(而非登录)。
你可以查看 Discourse SSO,相关讨论在 meta 的各个主题中都有涉及。
1 个赞
david
(David Taylor)
3
你描述的内容在 Discourse 刚起步时被广泛讨论过。为此有一个标签:#discourse_hub
最近的一个主题发布于 2014 年:
(另外,我刚刚注意到 Jeff 使用 @david 这个名字作为示例,那是在我甚至还不知道 Discourse 的很多年之前:joy:)
这是一个非常棒的想法,但实现过程中存在不少障碍。
6 个赞
太棒了,谢谢!看来 Stack Exchange 在过去大约 6 年里已经解决了许多在该讨论帖中描述的问题(例如,它使用“数字+用户名”作为用户的唯一标识符)。
问题的关键在于,与 Stack Exchange 不同,Discourse 是去中心化的,每个社区完全由其运行服务器的人控制。我还会认为,那些不愿放弃部分控制权以提升社区可访问性的管理员,完全可以选择不加入 Discourse Hub,但需明白这一决定会带来代价,即可访问性和用户参与度的降低。
Falco
(Falco)
5
我们当然可以为“DiscourseHub”提供商提供默认的社会化登录功能,默认启用,并支持所有默认字段(用户名、姓名、邮箱、头像、个人简介)的完整功能。我们还可以提供双向同步功能(尝试抓取刚创建的用户账户,并将一些信息发布到中央个人资料中,例如徽章和最佳帖子)。我们甚至可以利用它来推广最佳实践,例如设置较长的最小密码长度并强制启用双因素认证(2FA)。
然而,我们是否应该这样做,仍然是一个值得深入探讨的开放性问题。
3 个赞
由我们集中管理的目录能在多大程度上解决这个问题?
您仍然需要在每个网站上创建新账户,而且每个网站在注册时可能要求填写不同的字段(例如)。我们可以填充大部分信息,但您仍需确认。头像方面,Gravatar 等已有良好支持。
关于记住您的登录凭据:对于不常登录的社区,使用邮箱登录是最佳方式——只要启用该功能,我就会使用它。
我希望在考虑成为另一个身份提供商之前,先看到一个确实需要解决的扎实问题。我认为去中心化是一个特性,而非缺陷 
6 个赞
sam
(Sam Saffron)
7
关于这个话题……我完全支持的一个主题组件是将认证完全改为基于电子邮件的方式。
- 注册时……只需输入电子邮件地址、用户名和姓名……无需密码
- 登录时……只需输入电子邮件地址……无需密码
我们目前已经支持通过电子邮件进行无密码登录,但这一功能较为隐蔽。彻底弃用密码将使这一方式变得显而易见,并能消除许多摩擦。
显然,这目前并非 Discourse 的默认设置,但在我看来是一个非常有趣的主题组件。
1 个赞