At my company we use a central single authentication source which is backed by ldap. The usernames are the same across all our systems. This is important because it allows for automation of certain tasks/jobs/etc based on the users role which is mapped by these unique usernames. I am unable to implement some automation against phabricator because some users decided to use a different username on phabricator (theres may be too long or cumbersome to type) from what their "external account" username is.
They didn't change it but when they first logged in with their LDAP, phabricator shows the new account form repopulated with attributes from ldap but you are free to chang those. The underlying external account still remains connected fine but now the username is not the same.
actually, maybe can be done with an EventHandler, I'm reading the code here: