# Discourse ID 的工作原理

**URL:** <https://meta.discourse.org/t/how-discourse-id-works/379565>\
**Category:** Site Management\
**Tags:** discourse-id\
**Created:** [2025年八月28日 15:59 UTC](https://meta.discourse.org/t/how-discourse-id-works/379565 "2025-08-28T15:59:23Z")\
**Posts on this page:** 5\
**Page:** 2

<div class="post-metadata">

**Author:** ![Moin](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/moin/32/554653_2.png) [@Moin](https://meta.discourse.org/u/Moin)\
**Post date:** [2026年一月24日 12:02 UTC](https://meta.discourse.org/t/how-discourse-id-works/379565/29 "2026-01-24T12:02:31Z")

</div>

也许可以将有关更改域名后该怎么做的信息添加到第一篇帖子中：

> [@pmusaraj](#):
>
> 如果您可以访问 Rails 控制台，您可以清空 discourse id 设置中的客户端 ID 和密钥，然后关闭/打开“启用 Discourse ID”设置，这将触发新的注册。

> [@在云端\_裸奔](#):
>
> ```plaintext
> ./launcher enter app
> rails c
> SiteSetting.discourse_id_client_id = ""
> SiteSetting.discourse_id_client_secret = ""
> 
> ```

---

<div class="post-metadata">

**Author:** ![mcwumbly](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/mcwumbly/32/103861_2.png) [@mcwumbly](https://meta.discourse.org/u/mcwumbly)\
**Post date:** [2026年一月24日 13:37 UTC](https://meta.discourse.org/t/how-discourse-id-works/379565/30 "2026-01-24T13:37:15Z")

</div>

我已将以下内容添加到第一篇帖子中：

> [@rishabh](#):
>
> ### 更改域名后重新配置 ID
> 
> 更改站点域名后，要触发新的注册，您需要执行以下操作：
> 
> 1. 清空 discourse id 设置的客户端 ID 和密钥
> 2. 切换“启用 Discourse ID”设置的关闭/开启状态。
> 
> 如果您可以访问 Rails 控制台：
> 
> ```plaintext
> ./launcher enter app
> rails c
> SiteSetting.discourse_id_client_id = ""
> SiteSetting.discourse_id_client_secret = ""
> 
> ```

---

<div class="post-metadata">

**Author:** ![Moin](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/moin/32/554653_2.png) [@Moin](https://meta.discourse.org/u/Moin)\
**Post date:** [2026年一月24日 18:54 UTC](https://meta.discourse.org/t/how-discourse-id-works/379565/31 "2026-01-24T18:54:50Z")

</div>

我认为我会在第 1 步之后立即放入 rails 脚本

> [@rishabh](#):
>
> 1. 清空 discourse id 设置中的客户端 ID 和密钥

这些是隐藏的站点设置，因此除了使用 Rails 控制台外，没有其他方法可以更改它们

> <https://github.com/discourse/discourse/blob/6aada5a68f0ec308c4a3f5f76b7a901da33733a6/config/site_settings.yml#L646-L652>

---

<div class="post-metadata">

**Author:** ![0cjs](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/0cjs/32/570277_2.png) [@0cjs](https://meta.discourse.org/u/0cjs)\
**Post date:** [2026年七月10日 10:54 UTC](https://meta.discourse.org/t/how-discourse-id-works/379565/33 "2026-07-10T10:54:08Z")

</div>

有人能跟我们讲讲创建这个 Discourse ID 身份提供商的高层目标吗？我觉得这没什么坏处，但我想看看有没有我遗漏的优点。

在我看来，对于那些使用 GitHub、Google、Apple 或 Facebook 的人来说，创建 Discourse ID 没有任何优势，因为无论哪种方式，你都是在进行“一键”（好吧，是很少几次点击）注册或登录 Discourse 网站。那么为什么要提供这个选项呢？只是为了保持一致性吗？

为了将账户与 GitHub/Google 等分开，Discourse ID 似乎很有意义。我假设如果你使用电子邮件地址和密码进行身份验证，它会提供某种形式的双重身份验证（2FA）？

最后，Discourse ID 能与其他非 Discourse 系统一起使用吗？从_技术_上看，它似乎可以作为任何想要使用它的系统的身份提供商，但这是否被鼓励？不被提倡？或者 Discourse ID 可能会在某个时候中断？

我对谁在提供身份以及为什么提供身份很感兴趣，无论是出于数字主权的原因，还是仅仅为了“远离 Google/MS 等”的原因，因此了解替代身份提供商的情况对我来说非常有意义。

---

<div class="post-metadata">

**Author:** ![pmusaraj](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pmusaraj/32/119489_2.png) [@pmusaraj](https://meta.discourse.org/u/pmusaraj)\
**Post date:** [2026年七月13日 14:26 UTC](https://meta.discourse.org/t/how-discourse-id-works/379565/34 "2026-07-13T14:26:21Z")

</div>

有几个更高层次的目标，但总的来说，可以归结为两个主要优势。对于管理员来说，他们不需要配置和维护 GitHub、Google、Apple、Facebook 登录。单独来看，每个登录方式并不太难设置和维护，但需要多个步骤以及后续的维护工作。而在 Apple 的情况下，还有成本问题。

对于最终用户来说，目前并没有太大的区别。从长远来看，如果有足够的社区采用 Discourse ID，我们希望提供一个更好的集中式界面，用于管理 ID（用户加入的社区）、通知控制、用户账户自定义等。同时，还能更好地发现新社区。

[上一頁](https://meta.discourse.org/t/how-discourse-id-works/379565.md?page=1)
