412 String configDir = System.getProperty(
"jboss.server.config.dir");
413 if (configDir != null) {
414 File addUserFile =
new File(configDir + File.separator +
"keycloak-add-user.json");
415 if (addUserFile.isFile()) {
416 ServicesLogger.LOGGER.imprtingUsersFrom(addUserFile);
418 List<RealmRepresentation> realms;
420 realms = JsonSerialization.readValue(
new FileInputStream(addUserFile),
new TypeReference<List<RealmRepresentation>>() {
422 }
catch (IOException e) {
423 ServicesLogger.LOGGER.failedToLoadUsers(e);
427 for (RealmRepresentation realmRep : realms) {
428 for (UserRepresentation userRep : realmRep.getUsers()) {
433 RealmModel realm = session.realms().getRealmByName(realmRep.getRealm());
435 ServicesLogger.LOGGER.addUserFailedRealmNotFound(userRep.getUsername(), realmRep.getRealm());
437 UserModel user = session.users().addUser(realm, userRep.getUsername());
438 user.setEnabled(userRep.isEnabled());
439 RepresentationToModel.createCredentials(userRep, session, realm, user,
false);
440 RepresentationToModel.createRoleMappings(userRep, user, realm);
443 session.getTransactionManager().commit();
444 ServicesLogger.LOGGER.addUserSuccess(userRep.getUsername(), realmRep.getRealm());
445 }
catch (ModelDuplicateException e) {
446 session.getTransactionManager().rollback();
447 ServicesLogger.LOGGER.addUserFailedUserExists(userRep.getUsername(), realmRep.getRealm());
448 }
catch (Throwable t) {
449 session.getTransactionManager().rollback();
450 ServicesLogger.LOGGER.addUserFailed(t, userRep.getUsername(), realmRep.getRealm());
457 if (!addUserFile.delete()) {
458 ServicesLogger.LOGGER.failedToDeleteFile(addUserFile.getAbsolutePath());
KeycloakTransactionManager getTransactionManager()
KeycloakSessionFactory sessionFactory
Definition: KeycloakApplication.java:105