@Override public boolean isMasterRealmExported() throws IOException { checkRealmReps(); return (realmReps.containsKey(Config.getAdminRealm())); }
public ExtendingThemeManager(KeycloakSession session, ConcurrentHashMap<ExtendingThemeManagerFactory.ThemeKey, Theme> themeCache) { this.session = session; this.themeCache = themeCache; this.defaultTheme = Config.scope("theme").get("default", "keycloak"); }
@Override public boolean isMasterRealmExported() throws IOException { List<String> realmNames = getRealmsToImport(); return realmNames.contains(Config.getAdminRealm()); }
@Override public void init(Config.Scope config) { if(Config.scope("theme").getBoolean("cacheThemes", true)) { themeCache = new ConcurrentHashMap<>(); } }
private List<String> getRealmsToImport() throws IOException { File[] realmFiles = this.rootDirectory.listFiles(new FilenameFilter() { @Override public boolean accept(File dir, String name) { return (name.endsWith("-realm.json")); } }); List<String> realmNames = new ArrayList<String>(); for (File file : realmFiles) { String fileName = file.getName(); // Parse "foo" from "foo-realm.json" String realmName = fileName.substring(0, fileName.length() - 11); // Ensure that master realm is imported first if (Config.getAdminRealm().equals(realmName)) { realmNames.add(0, realmName); } else { realmNames.add(realmName); } } return realmNames; }
public FreeMarkerUtil() { if (Config.scope("theme").getBoolean("cacheTemplates", true)) { cache = new ConcurrentHashMap<>(); } }
public static void importRealms(KeycloakSession session, Collection<RealmRepresentation> realms, Strategy strategy) { // Import admin realm first for (RealmRepresentation realm : realms) { if (Config.getAdminRealm().equals(realm.getRealm())) { importRealm(session, realm, strategy); } } for (RealmRepresentation realm : realms) { if (!Config.getAdminRealm().equals(realm.getRealm())) { importRealm(session, realm, strategy); } } }
@Before public void before() { String providerId = getProviderId(); ServiceLoader<AuditProviderFactory> factories = ServiceLoader.load(AuditProviderFactory.class); for (AuditProviderFactory f : factories) { if (f.getId().equals(providerId)) { factory = f; factory.init(Config.scope("audit", providerId)); } } provider = factory.create(null); }
private String getAdminRoleId() throws SQLException, DatabaseException { PreparedStatement statement = jdbcConnection.prepareStatement("select ID from " + getTableName("KEYCLOAK_ROLE") + " where NAME = ? AND REALM = ?"); statement.setString(1, AdminRoles.ADMIN); statement.setString(2, Config.getAdminRealm()); try { ResultSet resultSet = statement.executeQuery(); try { if (resultSet.next()) { return resultSet.getString("ID"); } else { throw new IllegalStateException("Couldn't find ID of 'admin' role in 'master' realm"); } } finally { resultSet.close(); } } finally { statement.close(); } }
private String getAdminRoleId() throws SQLException, DatabaseException { PreparedStatement statement = jdbcConnection.prepareStatement("select ID from " + getTableName("KEYCLOAK_ROLE") + " where NAME = ? AND REALM = ?"); statement.setString(1, AdminRoles.ADMIN); statement.setString(2, Config.getAdminRealm()); try { ResultSet resultSet = statement.executeQuery(); try { if (resultSet.next()) { return resultSet.getString("ID"); } else { throw new IllegalStateException("Couldn't find ID of 'admin' role in 'master' realm"); } } finally { resultSet.close(); } } finally { statement.close(); } }
protected void addNewMasterAdminRoles() throws SQLException, DatabaseException { String masterRealmId = Config.getAdminRealm();
protected void addNewMasterAdminRoles() throws SQLException, DatabaseException { String masterRealmId = Config.getAdminRealm();
private void addMasterAdminRoles(RealmManager manager, RealmModel realm) { RealmModel master = manager.getRealmByName(Config.getAdminRealm()); RoleModel admin = master.getRole(AdminRoles.ADMIN); ClientModel client = realm.getMasterAdminClient(); addRoles(client, admin); }
@Override public ClientModel getMasterAdminClient() { return cached.getMasterAdminClient()==null ? null : cacheSession.getRealm(Config.getAdminRealm()).getClientById(cached.getMasterAdminClient()); }
@Override public ClientModel getMasterAdminClient() { return cached.getMasterAdminClient()==null ? null : cacheSession.getRealm(Config.getAdminRealm()).getClientById(cached.getMasterAdminClient()); }
private void realmPostCreate(RealmModel.RealmPostCreateEvent event) { RealmModel realm = event.getCreatedRealm(); RealmManager manager = new RealmManager(event.getKeycloakSession()); addMasterAdminRoles(manager, realm); if (!realm.getName().equals(Config.getAdminRealm())) addRealmAdminRoles(manager, realm); }
public static void setupMasterRealmRole(RealmProvider model, RealmModel realm) { RealmModel adminRealm; RoleModel adminRole; if (realm.getName().equals(Config.getAdminRealm())) { adminRealm = realm; adminRole = realm.getRole(AdminRoles.ADMIN); } else { adminRealm = model.getRealmByName(Config.getAdminRealm()); adminRole = adminRealm.getRole(AdminRoles.ADMIN); } ClientModel realmAdminApp = adminRealm.getClientByClientId(KeycloakModelUtils.getMasterRealmAdminApplicationClientId(realm.getName())); if (realmAdminApp.getRole(IMPERSONATION_ROLE) != null) return; RoleModel impersonationRole = realmAdminApp.addRole(IMPERSONATION_ROLE); impersonationRole.setDescription("${role_" + IMPERSONATION_ROLE + "}"); impersonationRole.setScopeParamRequired(false); adminRole.addCompositeRole(impersonationRole); }
public static void setupRealmRole(RealmModel realm) { if (realm.getName().equals(Config.getAdminRealm())) { return; } // don't need to do this for master realm String realmAdminApplicationClientId = Constants.REALM_MANAGEMENT_CLIENT_ID; ClientModel realmAdminApp = realm.getClientByClientId(realmAdminApplicationClientId); if (realmAdminApp.getRole(IMPERSONATION_ROLE) != null) return; RoleModel impersonationRole = realmAdminApp.addRole(IMPERSONATION_ROLE); impersonationRole.setDescription("${role_" + IMPERSONATION_ROLE + "}"); impersonationRole.setScopeParamRequired(false); RoleModel adminRole = realmAdminApp.getRole(AdminRoles.REALM_ADMIN); adminRole.addCompositeRole(impersonationRole); }
if (Config.getAdminRealm().equals(realmRep.getRealm())) { realmReps.add(0, realmRep); } else {
protected void importRealmsStep2(KeycloakSession keycloakSession, String fileName) { List<RealmEntity> realms = this.importReader.readEntities(fileName, RealmEntity.class); RealmModel adminRealm = keycloakSession.getRealm(Config.getAdminRealm()); for (RealmEntity realmEntity : realms) { RealmModel realm = keycloakSession.getRealm(realmEntity.getId()); // admin app String adminAppId = realmEntity.getAdminAppId(); if (adminAppId != null) { realm.setMasterAdminApp(adminRealm.getApplicationById(adminAppId)); } // Default roles realm.updateDefaultRoles(realmEntity.getDefaultRoles().toArray(new String[] {})); } }