Package org.keycloak.storage.ldap
Class LDAPStorageProviderFactory
- java.lang.Object
-
- org.keycloak.storage.ldap.LDAPStorageProviderFactory
-
- All Implemented Interfaces:
ComponentFactory<LDAPStorageProvider,UserStorageProvider>
,ConfiguredProvider
,ProviderFactory<UserStorageProvider>
,ImportSynchronization
,UserStorageProviderFactory<LDAPStorageProvider>
public class LDAPStorageProviderFactory extends Object implements UserStorageProviderFactory<LDAPStorageProvider>, ImportSynchronization
- Version:
- $Revision: 1 $
- Author:
- Marek Posolda, Bill Burke
-
-
Field Summary
Fields Modifier and Type Field Description protected static List<ProviderConfigProperty>
configProperties
static String
PROVIDER_NAME
-
Constructor Summary
Constructors Constructor Description LDAPStorageProviderFactory()
-
Method Summary
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.keycloak.component.ComponentFactory
create
-
Methods inherited from interface org.keycloak.provider.ConfiguredProvider
getConfig
-
Methods inherited from interface org.keycloak.provider.ProviderFactory
getConfigMetadata, order
-
Methods inherited from interface org.keycloak.storage.UserStorageProviderFactory
getCommonProviderConfigProperties, getHelpText, getTypeMetadata, postInit
-
-
-
-
Field Detail
-
PROVIDER_NAME
public static final String PROVIDER_NAME
- See Also:
- Constant Field Values
-
configProperties
protected static final List<ProviderConfigProperty> configProperties
-
-
Method Detail
-
getConfigProperties
public List<ProviderConfigProperty> getConfigProperties()
- Specified by:
getConfigProperties
in interfaceConfiguredProvider
- Specified by:
getConfigProperties
in interfaceUserStorageProviderFactory<LDAPStorageProvider>
-
create
public LDAPStorageProvider create(KeycloakSession session, ComponentModel model)
Description copied from interface:UserStorageProviderFactory
called per Keycloak transaction.- Specified by:
create
in interfaceComponentFactory<LDAPStorageProvider,UserStorageProvider>
- Specified by:
create
in interfaceUserStorageProviderFactory<LDAPStorageProvider>
-
getLDAPConfigDecorators
protected Map<ComponentModel,LDAPConfigDecorator> getLDAPConfigDecorators(KeycloakSession session, ComponentModel ldapModel)
-
validateConfiguration
public void validateConfiguration(KeycloakSession session, RealmModel realm, ComponentModel config) throws ComponentValidationException
Description copied from interface:ComponentFactory
Called before a component is created or updated. Allows you to validate the configuration- Specified by:
validateConfiguration
in interfaceComponentFactory<LDAPStorageProvider,UserStorageProvider>
- Specified by:
validateConfiguration
in interfaceUserStorageProviderFactory<LDAPStorageProvider>
- Throws:
ComponentValidationException
-
init
public void init(Config.Scope config)
Description copied from interface:ProviderFactory
Only called once when the factory is first created. This config is pulled from keycloak_server.json- Specified by:
init
in interfaceProviderFactory<UserStorageProvider>
- Specified by:
init
in interfaceUserStorageProviderFactory<LDAPStorageProvider>
-
close
public void close()
Description copied from interface:ProviderFactory
This is called when the server shuts down.- Specified by:
close
in interfaceProviderFactory<UserStorageProvider>
- Specified by:
close
in interfaceUserStorageProviderFactory<LDAPStorageProvider>
-
getId
public String getId()
Description copied from interface:UserStorageProviderFactory
This is the name of the provider and will be showed in the admin console as an option.- Specified by:
getId
in interfaceProviderFactory<UserStorageProvider>
- Specified by:
getId
in interfaceUserStorageProviderFactory<LDAPStorageProvider>
-
onCreate
public void onCreate(KeycloakSession session, RealmModel realm, ComponentModel model)
Description copied from interface:UserStorageProviderFactory
Called when UserStorageProviderModel is created. This allows you to do initialization of any additional configuration you need to add. For example, you may be introspecting a database or ldap schema to automatically create mappings.- Specified by:
onCreate
in interfaceComponentFactory<LDAPStorageProvider,UserStorageProvider>
- Specified by:
onCreate
in interfaceUserStorageProviderFactory<LDAPStorageProvider>
-
onUpdate
public void onUpdate(KeycloakSession session, RealmModel realm, ComponentModel oldModel, ComponentModel newModel)
Description copied from interface:ComponentFactory
Called after the component is updated.- Specified by:
onUpdate
in interfaceComponentFactory<LDAPStorageProvider,UserStorageProvider>
oldModel
- old saved modelnewModel
- new configuration
-
preRemove
public void preRemove(KeycloakSession session, RealmModel realm, ComponentModel model)
Description copied from interface:ComponentFactory
Called before the component is removed.- Specified by:
preRemove
in interfaceComponentFactory<LDAPStorageProvider,UserStorageProvider>
model
- model of the component, which is going to be removed
-
sync
public SynchronizationResult sync(KeycloakSessionFactory sessionFactory, String realmId, UserStorageProviderModel model)
- Specified by:
sync
in interfaceImportSynchronization
-
syncSince
public SynchronizationResult syncSince(Date lastSync, KeycloakSessionFactory sessionFactory, String realmId, UserStorageProviderModel model)
- Specified by:
syncSince
in interfaceImportSynchronization
-
syncMappers
protected void syncMappers(KeycloakSessionFactory sessionFactory, String realmId, ComponentModel model)
-
syncImpl
protected SynchronizationResult syncImpl(KeycloakSessionFactory sessionFactory, LDAPQuery userQuery, String realmId, ComponentModel fedModel)
-
importLdapUsers
protected SynchronizationResult importLdapUsers(KeycloakSessionFactory sessionFactory, String realmId, ComponentModel fedModel, List<LDAPObject> ldapUsers)
-
createSPNEGOAuthenticator
protected SPNEGOAuthenticator createSPNEGOAuthenticator(String spnegoToken, CommonKerberosConfig kerberosConfig)
-
createKerberosSubjectAuthenticator
protected KerberosServerSubjectAuthenticator createKerberosSubjectAuthenticator(CommonKerberosConfig kerberosConfig)
-
createKerberosUsernamePasswordAuthenticator
protected KerberosUsernamePasswordAuthenticator createKerberosUsernamePasswordAuthenticator(CommonKerberosConfig kerberosConfig)
-
-