Hey there,
first of all, thanks for Phabricator - we love it!
We are currently setting it up for our University students to collaborate, contribute, etc.
Students log in via an LDAP Provider, which works like a charm.
Root Problem: However, we face a minor issue. When a student registers for the first time - and hence the phabricator account is created - she can select her user and real name. Both names are prefilled from the LDAP/provider perfectly fine, however they are changeable.
This eventually leads to students choosing funny names, so we have a hard time finding who John Snow really is (Who knows that anyways).
After searching for some configurable options we did not find I gave the source code a look and found a very simple solution. The PhabricatorAuthRegisterController on the first login creates a new PhabricatorRegistrationProfile at line 136:
$profile = id(new PhabricatorRegistrationProfile()) ->setDefaultUsername($default_username) ->setDefaultEmail($default_email) ->setDefaultRealName($default_realname) ->setCanEditUsername(true) ->setCanEditEmail(($default_email === null)) ->setCanEditRealName(true) ->setShouldVerifyEmail(false);
There, both setCanEditUsername and setCanEditRealName are statically set to true. If we change both values to false, on login with a provider a new Phabricator account is automatically created with the same Username and RealName as the provider suggest which is is the exact desired behavior for us.
It would be absolutely lovely to have this configurable. Did we miss this option?
If not I would offer to implement it with your suggestions.