Entschuldigung, aber ich bin anderer Meinung. Ich sehe nicht, wie dies eine Feature-Anfrage und kein Fehler sein kann.
Ich verstehe, dass es andere API-Endpunkte gibt, die verwendet werden können. Aber der Hauptzweck von /admin/users/sync_sso besteht genau darin, diese Art von Daten synchron zu halten. Es ist bereits möglich, das Feld für den Kontonamen festzulegen – das funktioniert. Allerdings wird davon ausgegangen, dass der Name immer ein erforderliches Feld ist, und es kann nicht leer gesetzt werden. Daher kann es nicht verwendet werden, um Daten synchron zu halten.
Der folgende Code scheint in meiner Sandbox wie erwartet zu funktionieren, aber ich fühle mich derzeit nicht sicher genug, um einen PR einzureichen. Fühlen Sie sich frei, ihn zu verwenden/anzupassen usw.
- 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