public PartitionManager getPartitionManager(UserFederationProviderModel model) { PartitionManagerContext context = partitionManagers.get(model.getId()); // Ldap config might have changed for the realm. In this case, we must re-initialize Map<String, String> config = model.getConfig(); if (context == null || !config.equals(context.config)) { logLDAPConfig(model.getId(), config); PartitionManager manager = createPartitionManager(config); context = new PartitionManagerContext(config, manager); partitionManagers.put(model.getId(), context); } return context.partitionManager; }
Map<String, String> config = fedProvider.getConfig();
public void migrate(KeycloakSession session) { List<RealmModel> realms = session.realms().getRealms(); for (RealmModel realm : realms) { List<UserFederationProviderModel> federationProviders = realm.getUserFederationProviders(); for (UserFederationProviderModel fedProvider : federationProviders) { if (fedProvider.getProviderName().equals(LDAPConstants.LDAP_PROVIDER)) { Map<String, String> config = fedProvider.getConfig(); if (isActiveDirectory(config)) { // Create mapper for MSAD account controls if (realm.getUserFederationMapperByName(fedProvider.getId(), "MSAD account controls") == null) { UserFederationMapperModel mapperModel = KeycloakModelUtils.createUserFederationMapperModel("MSAD account controls", fedProvider.getId(), LDAPConstants.MSAD_USER_ACCOUNT_CONTROL_MAPPER); realm.addUserFederationMapper(mapperModel); } } } } } }
public static UserFederationProviderRepresentation toRepresentation(UserFederationProviderModel model) { UserFederationProviderRepresentation rep = new UserFederationProviderRepresentation(); rep.setId(model.getId()); rep.setConfig(model.getConfig()); rep.setProviderName(model.getProviderName()); rep.setPriority(model.getPriority()); rep.setDisplayName(model.getDisplayName()); rep.setFullSyncPeriod(model.getFullSyncPeriod()); rep.setChangedSyncPeriod(model.getChangedSyncPeriod()); rep.setLastSync(model.getLastSync()); return rep; }