@Override public void onEvent(ProviderEvent event) { if (event instanceof RealmModel.UserFederationProviderCreationEvent) { RealmModel.UserFederationProviderCreationEvent fedCreationEvent = (RealmModel.UserFederationProviderCreationEvent)event; UserFederationProviderModel providerModel = fedCreationEvent.getCreatedFederationProvider(); if (providerModel.getProviderName().equals(getId())) { onProviderModelCreated(fedCreationEvent.getRealm(), providerModel); } } }
protected UserFederationProvider getFederationProvider(UserFederationProviderModel model) { UserFederationProviderFactory factory = (UserFederationProviderFactory)session.getKeycloakSessionFactory().getProviderFactory(UserFederationProvider.class, model.getProviderName()); return factory.getInstance(session, model); }
for (UserFederationProviderModel fedProvider : federationProviders) { if (fedProvider.getProviderName().equals(LDAPConstants.LDAP_PROVIDER)) { 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; }