62         List<UserStorageProviderModel> federationProviders = realm.getUserStorageProviders();
    63         for (UserStorageProviderModel fedProvider : federationProviders) {
    65             if (fedProvider.getProviderId().equals(LDAPConstants.LDAP_PROVIDER)) {
    66                 fedProvider = 
new UserStorageProviderModel(fedProvider);  
    67                 MultivaluedHashMap<String, String> config = fedProvider.getConfig();
    70                 if (config.get(LDAPConstants.SEARCH_SCOPE) == null) {
    71                     config.putSingle(LDAPConstants.SEARCH_SCOPE, String.valueOf(SearchControls.SUBTREE_SCOPE));
    74                 List<String> usersDn = config.remove(
"userDnSuffix");
    75                 if (usersDn != null && !usersDn.isEmpty() && config.getFirst(LDAPConstants.USERS_DN) == null) {
    76                     config.put(LDAPConstants.USERS_DN, usersDn);
    79                 String usernameLdapAttribute = config.getFirst(LDAPConstants.USERNAME_LDAP_ATTRIBUTE);
    80                 if (usernameLdapAttribute != null && config.getFirst(LDAPConstants.RDN_LDAP_ATTRIBUTE) == null) {
    81                     if (usernameLdapAttribute.equalsIgnoreCase(LDAPConstants.SAM_ACCOUNT_NAME)) {
    82                         config.putSingle(LDAPConstants.RDN_LDAP_ATTRIBUTE, LDAPConstants.CN);
    84                         config.putSingle(LDAPConstants.RDN_LDAP_ATTRIBUTE, usernameLdapAttribute);
    88                 if (config.getFirst(LDAPConstants.UUID_LDAP_ATTRIBUTE) == null) {
    89                     String uuidAttrName = LDAPConstants.getUuidAttributeName(config.getFirst(LDAPConstants.VENDOR));
    90                     config.putSingle(LDAPConstants.UUID_LDAP_ATTRIBUTE, uuidAttrName);
    93                 realm.updateComponent(fedProvider);
    96                 List<ComponentModel> mappers = realm.getComponents(fedProvider.getId());
    97                 if (mappers.isEmpty()) {
    98                     ProviderFactory ldapFactory = session.getKeycloakSessionFactory().getProviderFactory(UserStorageProvider.class, LDAPConstants.LDAP_PROVIDER);
    99                     if (ldapFactory != null) {
   100                         ((ComponentFactory) ldapFactory).onCreate(session, realm, fedProvider);