Discourse ID 如何运作

什么是 Discourse ID?

Discourse ID 为参与的 Discourse 站点提供更快的登录体验,这样您就不必为访问的每个 Discourse 创建单独的登录名,并且只需单击一下即可加入任何参与的 Discourse 站点。它还允许 Discourse 管理员提供简化的登录体验,支持社交登录,无需任何设置或配置。

每次在 Discourse 站点上看到“使用 Discourse ID 登录”时,您距离有意义的对话仅几秒钟:discourse:

为什么使用 Discourse ID?

一次创建,随处使用

  • 只需注册一次 Discourse ID,即可在所有参与的 Discourse 社区中使用
  • 无需记住不同论坛的多个用户名和密码
  • 使用 Google、Apple、Facebook、Github 或您的电子邮件加入 Discourse ID(更多选项即将推出)

常见问题

  • 开箱即用的支持哪些社交登录平台? 无需任何配置,Discourse ID 支持 Google、Facebook、Apple 和 GitHub 登录(更多即将推出)。
  • 这与单点登录 (SSO) 相同吗? Discourse ID 是 SSO,但专门为 Discourse 站点设计。
  • 社区所有者会看到我的所有活动吗? 不会,您在一个论坛上的活动对其他论坛的所有者不可见。
  • 为什么 Discourse ID 在某些站点上不起作用? Discourse ID 是一项新功能,一些社区尚未选择加入。请让您的社区管理员启用它(或稍后再次检查)。
  • 准备好在您的社区中启用 Discourse ID 了吗? 如果您想为您的会员提供无缝的登录体验,请从您的管理面板中打开“启用 Discourse ID”站点设置。ID 在任何地方都可用,包括我们托管的站点和自托管的站点。如果您遇到问题,请确保启用了 force_https 设置。
  • 我可以在 DiscourseHub 应用中使用 Discourse ID 吗? 您可以在 DiscourseHub 应用中登录已启用 Discourse ID 的各个站点(与其他登录方法一样)。我们还在努力改善 Discourse ID 和 DiscourseHub 之间的集成。敬请关注!

故障排除

Discourse 站点要使用 Discourse ID,它必须位于 https 协议下并且可以在 Internet 上访问(即不能为内网站点启用 ID)。有关进一步的故障排除,请检查 discourse-id 标签或在正确的类别(即 Bug / Support / UX)中创建带有该标签的新主题。

22 个赞

太棒了!!!!

哦。太令人失望了。 :crying_cat:

希望很快就能提供!如果易于配置(或者可能仅通过 API 密钥或某种方式实现),那将非常方便。

我很想为自托管客户默认启用它(主要是为了方便我登录!)。

编辑:抱歉抱怨,但我非常兴奋!

14 个赞

它很快就会提供给自托管用户,是的。感谢您的关注,非常感谢!

14 个赞

我已经迫不及待地想要注册我的账户了,你们是最棒的!

8 个赞

干得好!:grinning_face:

我非常喜欢这个主意。统一登录体验非常棒!这会让 Discourse 更易于使用,并可能鼓励人们“注册”到更多的社区。:partying_face:

7 个赞

这会影响注册流程吗?还是我仍然可以手动添加新成员?

编辑:我刚意识到这取决于 Discourse 提供的 IdP,它并不是联邦信任所有其他 Discourse 实例。

现在已启用 :slight_smile: Discourse ID现已可用。立即试用!- Discourse Meta

2 个赞

早上好!

关于 Discourse ID,我还有几个额外的问题:

  • 我认为有一个中央服务器管理凭证,每个站点在验证 Discourse ID 登录时都会联系该服务器?因此,尽管每个单独的网站都不知道其他正在访问的网站,但我认为该信息在授权服务器上是可用的?你们是否计划使用这些信息,即使是匿名的?
  • 就我个人而言,我对电子邮件/密码(有时还有 2FA)感到满意,并且不急于为我自己的登录采用 Discourse ID。我也没有兴趣在手机上阅读网站,因此不想安装 Discourse 应用程序。我希望网站运营商将来能保留使用用户名/电子邮件和密码登录的选项。供参考,我也不使用其他提供的 SSO 选项!我的密码由我自己的基础设施管理,每个密码只在一个位置使用,并且在不使用时以加密形式存储。

我意识到我可能代表一个边缘情况,但希望在我查看未来的登录方法时,管理员会考虑我这种情况的人。

3 个赞

是的,Discourse ID 本身就是一项集中式服务。与其他社交登录非常相似。我们计划在不久的将来为最终用户添加更多 ID 功能,但目前还没有关于这些功能的具体细节。

是的,所有其他登录方式将保持可用,包括本地帐户。

5 个赞

虽然我发现不需要支持所有社交功能,但我接受 Discourse ID,但我还没有启用它,因为我不确定(欧盟)会给我带来什么合规问题。

1 个赞

没有。您必须像其他 SSO 选项一样说明相同的事情。您基本上是将责任转移给 CDCK 并链接到:Privacy policy | Discourse - Civilized Discussion

亲爱的 CDCL,隐私政策必须尽快更新以包含 ID。

2 个赞

是的,但由于我出于同样的原因不使用其他 SSO 选项——当告诉用户使用它们时,我可能会负责——我暂时还不能使用它。

然而你并没有这样做。作为管理员,你不能存储不必要的个人数据,并且必须说明你存储了什么、为什么存储以及存储多久。诸如此类的事情。对于其他服务,你必须说明你正在使用它们,并指向它们的隐私政策。其余的由它们负责。与 Google Analytics、Adsense、Amazon S3、电子邮件发送等完全相同。

所以,基本上你必须说明。是否使用由用户选择。如果 Discourse ID 或任何 SSO 是唯一的选项,那么你必须更严格,但目前情况并非如此。

但如果你不想,你不需要启用 Discourse ID。我启用它是出于好奇,但目前我的论坛上没有一个用户会使用它。也许当翻译全面运行时,这种情况会改变,但那是另一回事。但基本上没有任何欧盟规则需要你担心。

我知道什么是合理的,但我也知道公司有责任链接到欧盟的 Facebook 个人资料,所以我最好还是谨慎行事。

我们能否从其他系统自动将用户注册到 Discourse ID?

您想强制用户注册 id.discourse.com 而不询问 :flushed_face:
据我所知,您无法做到,因为您无法让他们使用 Google SSO。

您能否更详细地解释一下“将用户自动注册到 Discourse ID(来自其他系统)”是什么意思?

您可以使用 您的 Discourse 站点作为身份提供者,然后允许您的用户使用 Discourse ID 登录。您是在问这个吗?

3 个赞

尽管主题标题是“Discourse ID 如何工作”,但似乎没有关于它实际如何工作的详细信息——例如,Discourse 站点和 IdP 之间的协议是什么,传递了哪些标识符,可以在多大程度上关联站点之间的活动等等。我需要了解这些才能为我建议的站点管理员提供准确的指导,告诉他们是否应该在他们的站点上启用此选项。

2 个赞

同意,但只是提示一下,它使用了 Omniauth 的 OAuth2 流程,并且有自己的注册机制来在此处获取客户端密钥 discourse/app/services/discourse_id/register.rb at 62942ee5851b55aa1c0a56dbd3f43af1330ea451 · discourse/discourse · GitHub

不过,不完全确定 omniauth 是使用 OIDC 还是令牌自省端点来获取实际的用户属性。

1 个赞

20 篇帖子已拆分到一个新主题:帮助设置 Discourse ID