private List<RealmModel> getRealms(TypedQuery<String> query) { List<String> entities = query.getResultList(); List<RealmModel> realms = new ArrayList<RealmModel>(); for (String id : entities) { RealmModel realm = session.realms().getRealm(id); if (realm != null) realms.add(realm); } return realms; }
@Override public RealmModel getRealmByName(String name) { TypedQuery<String> query = em.createNamedQuery("getRealmIdByName", String.class); query.setParameter("name", name); List<String> entities = query.getResultList(); if (entities.isEmpty()) return null; if (entities.size() > 1) throw new IllegalStateException("Should not be more than one realm with same name"); String id = query.getResultList().get(0); return session.realms().getRealm(id); }
@Override public void run(KeycloakSession session) { List<RealmModel> realms = session.realms().getRealms(); holder.realms = realms; }
@Override public RoleModel getClientRole(RealmModel realm, ClientModel client, String name) { TypedQuery<String> query = em.createNamedQuery("getClientRoleIdByName", String.class); query.setParameter("name", name); query.setParameter("client", client.getId()); List<String> roles = query.getResultList(); if (roles.isEmpty()) return null; return session.realms().getRoleById(roles.get(0), realm); }
@Override public ClientModel getClientByClientId(String clientId, RealmModel realm) { TypedQuery<String> query = em.createNamedQuery("findClientIdByClientId", String.class); query.setParameter("clientId", clientId); query.setParameter("realm", realm.getId()); List<String> results = query.getResultList(); if (results.isEmpty()) return null; String id = results.get(0); return session.realms().getClientById(id, realm); }
@Override public List<GroupModel> getDefaultGroups() { Collection<GroupEntity> entities = realm.getDefaultGroups(); if (entities == null || entities.isEmpty()) return Collections.EMPTY_LIST; List<GroupModel> defaultGroups = new LinkedList<>(); for (GroupEntity entity : entities) { defaultGroups.add(session.realms().getGroupById(entity.getId(), this)); } return Collections.unmodifiableList(defaultGroups); }
public void migrate(KeycloakSession session) { List<RealmModel> realms = session.realms().getRealms(); for (RealmModel realm : realms) { migrateLDAPProviders(session, realm); } }
@Override protected void runExportImportTask(KeycloakSession session) throws IOException { RealmModel realm = session.realms().getRealmByName(realmName); RealmRepresentation realmRep = ExportUtils.exportRealm(session, realm, true); writeToFile(realmRep); }
@Override public boolean removeClient(String id) { if (id == null) return false; ClientModel client = getClientById(id); if (client == null) return false; return session.realms().removeClient(id, this); }
@Override public boolean removeClient(String id) { if (id == null) return false; ClientModel client = getClientById(id); if (client == null) return false; return session.realms().removeClient(id, this); }
@Override protected void runExportImportTask(KeycloakSession session) throws IOException { RealmModel realm = session.realms().getRealmByName(realmName); usersHolder.users = session.users().getUsers(realm, usersHolder.currentPageStart, usersHolder.currentPageEnd - usersHolder.currentPageStart, true); writeUsers(realmName + "-users-" + (usersHolder.currentPageStart / countPerPage) + ".json", session, realm, usersHolder.users); logger.info("Users " + usersHolder.currentPageStart + "-" + (usersHolder.currentPageEnd -1) + " exported"); }
@Override protected void runExportImportTask(KeycloakSession session) throws IOException { RealmModel realm = session.realms().getRealmByName(realmName); RealmRepresentation rep = ExportUtils.exportRealm(session, realm, exportUsersIntoRealmFile); writeRealm(realmName + "-realm.json", rep); logger.info("Realm '" + realmName + "' - data exported"); // Count total number of users if (!exportUsersIntoRealmFile) { usersHolder.totalCount = session.users().getUsersCount(realm); } }
@Override public GroupModel getParent() { if (updated != null) return updated.getParent(); if (cached.getParentId() == null) return null; return keycloakSession.realms().getGroupById(cached.getParentId(), realm); }
public void migrate(KeycloakSession session) { List<RealmModel> realms = session.realms().getRealms(); for (RealmModel realm : realms) { if (realm.getAuthenticationFlows().size() == 0) { DefaultAuthenticationFlows.migrateFlows(realm); DefaultRequiredActions.addActions(realm); } ImpersonationConstants.setupImpersonationService(session, realm); migrateLDAPMappers(session, realm); migrateUsers(session, realm); } }
@Override public GroupModel getParent() { if (isUpdated()) return updated.getParent(); if (cached.getParentId() == null) return null; return keycloakSession.realms().getGroupById(cached.getParentId(), realm); }
@Override public ClientTemplateModel getClientTemplate() { if (getMongoEntity().getClientTemplate() == null) return null; return session.realms().getClientTemplateById(getMongoEntity().getClientTemplate(), realm); }
@Override public void moveGroup(RealmModel realm, GroupModel group, GroupModel toParent) { if (toParent != null && group.getId().equals(toParent.getId())) { return; } if (group.getParentId() != null) { group.getParent().removeChild(group); } group.setParent(toParent); if (toParent != null) toParent.addChild(group); else session.realms().addTopLevelGroup(realm, group); }
@Override public void moveGroup(RealmModel realm, GroupModel group, GroupModel toParent) { if (toParent != null && group.getId().equals(toParent.getId())) { return; } if (group.getParentId() != null) { group.getParent().removeChild(group); } group.setParent(toParent); if (toParent != null) toParent.addChild(group); else session.realms().addTopLevelGroup(realm, group); }
@Override public RealmModel getRealmByName(String name) { DBObject query = new QueryBuilder() .and("name").is(name) .get(); MongoRealmEntity realm = getMongoStore().loadSingleEntity(MongoRealmEntity.class, query, invocationContext); if (realm == null) return null; return session.realms().getRealm(realm.getId()); }
@Override public ClientModel getClientByClientId(String clientId, RealmModel realm) { DBObject query = new QueryBuilder() .and("realmId").is(realm.getId()) .and("clientId").is(clientId) .get(); MongoClientEntity appEntity = getMongoStore().loadSingleEntity(MongoClientEntity.class, query, invocationContext); if (appEntity == null) return null; return session.realms().getClientById(appEntity.getId(), realm); }