Consenti la rimozione del nome utilizzando SSO

Mi dispiace, ma non sono d’accordo. Non capisco come questa possa essere una richiesta di funzionalità e non un bug.

Capisco che esistano altri endpoint API utilizzabili. Tuttavia, il punto principale di /admin/users/sync_sso è proprio mantenere questo tipo di dati, beh, sincronizzati. Consente già di impostare il campo del nome dell’account — questo funziona. Ma presuppone che il nome sia sempre un campo obbligatorio e non permette di impostarlo come vuoto. Quindi non può essere utilizzato per mantenere i dati sincronizzati.

Il codice sottostante sembra funzionare come previsto nel mio sandbox, ma ancora una volta, non mi sento abbastanza sicuro da inviare una PR in questo momento. Sentitevi liberi di utilizzarlo/adattarlo, ecc.

-    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