I’m relatively certain the answer to this is “You can’t do that”, but thought I’d ask anyway.
I’m working on a CMS site where I want to have content namespaced by the user and the actual site name - similar to how GitHub works. So /graham/something is different to /fred/something.
With the “Username-Password-Authentication” connection this is relatively easy. Just turn on “Requires Username”, and then all users will have a username and the can be searched by that.
However, anyone who authenticates via a social connection - Google, Facebook, etc - will not have a username, and attempting to save a username on their profile results in:
{"statusCode":400,"error":"Bad Request","message":"Cannot update username for non-database user","errorCode":"operation_not_supported"}
Is this just something that can’t be done? Or is there some way to have users on social connections that also have usernames?
As described in the answer, you could set up a redirect rule for social logins to collect the username field on a special page: Redirect Users from Within Rules