First, I want to clarify that users created with the name property on the Management API are the only way for the user picture to show the initials.
Users created without the name property or users who sign up by themselves will find the same observations as you, where the first two letters are used as the user picture.
Now, I’d like to emphasize that the picture associated with the user profile is an image generated by Gravatar of their initials. Thus, changing the picture from JO to JD will mean replacing the image, which you’ll have to find the source.
In this case, I’d recommend that you create your users with the name attribute with the Management API to accomplish the correct initialed user picture.
Similarly, when users sign up on your application, you’ll need to have additionalSignUpFields for the name attribute:
var lock = new Auth0Lock(config.clientID, config.auth0Domain, {
additionalSignUpFields: [{
name: "name",
placeholder: "Enter your full name",
storage: "root"
}],
// redacted for brevity
Once that is complete, the picture generated will always be the initials of the user.