# 阻止创建新账户对话框

**URL:** <https://meta.discourse.org/t/prevent-create-new-account-dialog/146109>\
**Category:** Support\
**Created:** [2020年三月30日 08:56 UTC](https://meta.discourse.org/t/prevent-create-new-account-dialog/146109 "2020-03-30T08:56:32Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![arivanandan](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/arivanandan/32/160108_2.png) [@arivanandan](https://meta.discourse.org/u/arivanandan)\
**Post date:** [2020年三月30日 08:56 UTC](https://meta.discourse.org/t/prevent-create-new-account-dialog/146109/1 "2020-03-30T08:56:32Z")

</div>

使用 JWT 登录后，我最终到达..

 ![Screenshot from 2020-03-30 14-23-29](https://global.discourse-cdn.com/meta/original/3X/4/f/4f0426a4c620d578a37e70ef573db6881d5179e9.png)

我的认证服务管理用户，且仅启用了 JWT 登录。我不希望用户在 Discourse 和平台之间拥有不同的用户名。如何阻止此屏幕显示？

---

<div class="post-metadata">

**Author:** ![itsbhanusharma](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/itsbhanusharma/32/180717_2.png) [@itsbhanusharma](https://meta.discourse.org/u/itsbhanusharma)\
**Post date:** [2020年三月30日 11:27 UTC](https://meta.discourse.org/t/prevent-create-new-account-dialog/146109/2 "2020-03-30T11:27:19Z")

</div>

禁用所有登录选项，只保留您希望保留的那个。这样就能解决问题。

---

<div class="post-metadata">

**Author:** ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)\
**Post date:** [2020年三月30日 11:43 UTC](https://meta.discourse.org/t/prevent-create-new-account-dialog/146109/3 "2020-03-30T11:43:54Z")

</div>

特别是，请禁用本地登录。

---

<div class="post-metadata">

**Author:** ![itsbhanusharma](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/itsbhanusharma/32/180717_2.png) [@itsbhanusharma](https://meta.discourse.org/u/itsbhanusharma)\
**Post date:** [2020年三月30日 11:45 UTC](https://meta.discourse.org/t/prevent-create-new-account-dialog/146109/4 "2020-03-30T11:45:03Z")

</div>

如果启用了任何社交登录，模态框应该还是会显示出来吧？

---

<div class="post-metadata">

**Author:** ![arivanandan](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/arivanandan/32/160108_2.png) [@arivanandan](https://meta.discourse.org/u/arivanandan)\
**Post date:** [2020年三月30日 14:42 UTC](https://meta.discourse.org/t/prevent-create-new-account-dialog/146109/5 "2020-03-30T14:42:34Z")

</div>

我尝试勾选/取消勾选各种与登录相关的设置，但问题仍然存在。JWT 是唯一启用的登录方式。

这与 [discourse-jwt](https://github.com/discourse/discourse-jwt) 有关，还是属于更通用的表单问题？

---

<div class="post-metadata">

**Author:** ![arivanandan](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/arivanandan/32/160108_2.png) [@arivanandan](https://meta.discourse.org/u/arivanandan)\
**Post date:** [2020年三月30日 14:44 UTC](https://meta.discourse.org/t/prevent-create-new-account-dialog/146109/6 "2020-03-30T14:44:40Z")

</div>

如果您没注意到，这是注册表单，而非登录表单。

---

<div class="post-metadata">

**Author:** ![itsbhanusharma](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/itsbhanusharma/32/180717_2.png) [@itsbhanusharma](https://meta.discourse.org/u/itsbhanusharma)\
**Post date:** [2020年三月30日 14:54 UTC](https://meta.discourse.org/t/prevent-create-new-account-dialog/146109/7 "2020-03-30T14:54:23Z")

</div>

当 Discourse 未使用内部认证时，应禁用其中任意一项。

但这可能特定于 JWT，因为我个人从未尝试过使用它。

---

<div class="post-metadata">

**Author:** ![arivanandan](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/arivanandan/32/160108_2.png) [@arivanandan](https://meta.discourse.org/u/arivanandan)\
**Post date:** [2020年三月30日 15:50 UTC](https://meta.discourse.org/t/prevent-create-new-account-dialog/146109/8 "2020-03-30T15:50:06Z")

</div>

其他所有内容均已禁用。这可能与 [GitHub - discourse/discourse-omniauth-jwt: An OmniAuth strategy that uses JSON Web Token for Single Sign-On · GitHub](https://github.com/discourse/discourse-omniauth-jwt) 有关。

---

<div class="post-metadata">

**Author:** ![david](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/david/32/157490_2.png) [@david](https://meta.discourse.org/u/david)\
**Post date:** [2020年三月30日 16:00 UTC](https://meta.discourse.org/t/prevent-create-new-account-dialog/146109/9 "2020-03-30T16:00:32Z")

</div>

是的，即使 JWT 是唯一的登录方式，创建账户对话框仍会出现。我们需要收集额外数据（用户名和电子邮件），以确保 Discourse 正常运行。您可以通过在令牌中提供“name”和“email”声明的值来预填充这些字段。

---

<div class="post-metadata">

**Author:** ![arivanandan](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/arivanandan/32/160108_2.png) [@arivanandan](https://meta.discourse.org/u/arivanandan)\
**Post date:** [2020年三月30日 16:14 UTC](https://meta.discourse.org/t/prevent-create-new-account-dialog/146109/10 "2020-03-30T16:14:59Z")

</div>

这些字段将始终包含在 JWT 中，我会预先填充它们。我希望禁止编辑这些字段。

或者更好的是，根本不显示该表单。

---

<div class="post-metadata">

**Author:** ![system](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/system/32/443519_2.png) [@system](https://meta.discourse.org/u/system)\
**Post date:** [2020年七月2日 16:07 UTC](https://meta.discourse.org/t/prevent-create-new-account-dialog/146109/11 "2020-07-02T16:07:49Z")

</div>

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.
