在尝试帮助解决 自定义注册表单 / 隐藏或标准化用户名字段 - 支持 问题时,我发现站点设置 use_name_for_username_suggestions 似乎对我的本地注册表单没有任何影响。
在自托管版本 2026.3.0-latest.1 (41f62aab8e) 上进行了测试。
AskBot 认为该设置肯定适用于 SSO / OAuth2 账户创建流程,但无法确凿地确认它是否应在常规注册表单中作为自动建议功能运行。
我想知道是否我对该设置的预期有误——或者我的理解是正确的,而某个地方引入了错误,可能是在修复诸如 在注册时提供空白用户名建议而非 ‘UserN’ 或 “使用电子邮件作为用户名和名称建议” 等主题的问题时引入的。
有人能确认该设置是否在你的本地注册表单上生效吗?
AskBot 的解释:
根据我能够验证的内容,use_name_for_username_suggestions 确实用于外部认证账户创建流程,例如 SSO / OAuth2 / DiscourseConnect。该设置的上下文显示,Discourse 在这些路径中解析建议用户名时,会将用户的 name 作为输入包含在内:
/lib/auth/result.rb/app/models/discourse_connect.rb
我还发现了证据表明 Discourse 在普通注册表单中具有用户名自动完成/建议行为,因此从概念上讲,此功能并非仅限于 SSO。然而,我未能找到任何当前的 Meta 来源,能够确凿地证明普通本地注册表单在所有情况下都与此特定站点设置相关联。
因此,最稳妥的总结是:
- 已确认:
use_name_for_username_suggestions会影响 SSO / OAuth2 / 外部认证 的用户名建议。 - 可能预期:它也会影响标准本地注册表单的用户名建议/自动完成行为。
- 仅凭 Meta 来源尚无法确证:当前本地注册表单是否在所有情况下都使用此确切设置。