Assign Role to new User while creating new User by Custom User Storage SPI

I am integrating Social Login and Following this guide Sign in with Apple: I have small issue and that I dont know how to identify User Role during token exchange.

I am using Custom User Storage Provider SPI based on this sample KeycloakCustomUserStorageProvider. As my business database is mysql and new user needs to be stored in mysql.

So I have debugged and found that this method called from UserRegistrationProvider interface.

@Override
public UserModel addUser(RealmModel realmModel, String username) {
    logger.info("Calling addUser (username: {})",username);
    return null;
}

But Problem is I cant find the way to identify about what role should be assigned. Because I have three types of users which can logged in by apple social login. Admins, Managers, Customers. For each this method called but I could not figure out how to identify the role?

I really grateful if you could hint me in right direction.

I came across this JIRA ISSUE related to addUser problem. But did not understood the solution mentioned in the comments , can someone help me in this regards.

https://issues.redhat.com/browse/KEYCLOAK-4323

Hi, has anyone been able to find a solution for this ?
The addUser method just has the username, while what im looking for is the complete object during registration (firstname, lastname etc)