I want to achieve transaction functionality in keycloak. I am creating a user then a role and associating that role with the user. I want all of these operations in a single transaction. Here is my code snippet:
Keycloak keyClk = getKeyCloakInstance();
UserRepresentation userRepresentation = new UserRepresentation();
userRepresentation.setEnabled(user.getStatus());
userRepresentation.setUsername(user.getUserId() != null ? user.getUserId() : "");
userRepresentation.setEmail(user.getEmail());
RealmResource realmResource = keyClk.realm(KeyCloakUtil.realmName);
UsersResource usersRessource = realmResource.users();
Response response = usersRessource.create(userRepresentation);
List<Role> roleList = user.getRoles();
if (!roleList.isEmpty() || roleList != null) {
createUserRoleList(user.getUserId(), roleList, KeyCloakUtil.clientId, KeyCloakConstant.ACTION_ADD);
}