<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 TRANSITIONAL//EN">
<HTML>
<HEAD>
  <META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=UTF-8">
  <META NAME="GENERATOR" CONTENT="GtkHTML/4.6.6">
</HEAD>
<BODY>
Hi,<BR>
<BR>
We're currently using Keycloak 1.2.0.Final.<BR>
<BR>
We are migrating users from an existing application with it's own user management implementation to Keycloak, and have been making extensive use of the Via the REST api to achieve this. I'm able to create a new user, set their temporary password and so on. However, I'm finding that all our attempts to add the roles to the created user seem not to be taking effect when we observe the newly created user on the keycloak side. Here's the code we are trying to use to do this<BR>
<BR>
<PRE>
        &nbsp;&nbsp;&nbsp; UserRepresentation user = new UserRepresentation();&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; user.setUsername(username);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; user.setFirstName(employee.getFirstName());
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; user.setLastName(employee.getLastName());
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; user.setEmail(employee.getEmail());
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; user.setEnabled(true);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; user.setEmailVerified(false);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; List&lt;String&gt; requiredActions = new ArrayList&lt;&gt;();
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; requiredActions.add(UserModel.RequiredAction.UPDATE_PASSWORD.name());
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <B>List&lt;String&gt; userRoles = getMigrateRoles(employee);</B>
<B>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; user.setRealmRoles(userRoles);</B>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; user.setRequiredActions(requiredActions);
        &nbsp;&nbsp;&nbsp; adminClient.createUser(settings.getKeycloackUrl(), settings.getRealm(), access, user);

</PRE>
It seams setting the list of roles to the Realm Roles isn't enough to the user with these roles. The user gets created alright, but doesn't come with any roles. Is there any other means by which we can specify the user roles during the process of account creation? <BR>
<BR>
The migration will be very tedious if we ask the administrators to manually do the assignment of the user to their roles after our current implementation of being able to automatically migrate the user accounts themselves to keycloak. 
</BODY>
</HTML>