允许使用 SSO 移除名称

抱歉,但我不同意。我不明白这为什么是一个功能请求而不是一个缺陷。

我理解有其他 API 端点可以使用。但 /admin/users/sync_sso 的主要目的正是为了让这类数据保持同步。它已经允许设置账户名称字段——这没问题。但它假设名称始终是必填字段,并且不允许将其设置为空。因此,它无法用于保持数据同步。

下面的代码在我的沙箱环境中似乎能按预期工作,但再次说明,我目前还不太有信心提交 PR。请随意使用或修改它等。

-    if SiteSetting.sso_overrides_name && user.name != name && name.present?
-      user.name = name || User.suggest_name(username.blank? ? email : username)
+    if SiteSetting.sso_overrides_name && user.name != name
+      if SiteSetting.full_name_required && name.present?
+        user.name = name || User.suggest_name(username.blank? ? email : username)
+      else
+        user.name = name
+      end