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>configPropertiesstatic StringPROVIDER_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:
getConfigPropertiesin interfaceConfiguredProvider- Specified by:
getConfigPropertiesin interfaceUserStorageProviderFactory<LDAPStorageProvider>
-
create
public LDAPStorageProvider create(KeycloakSession session, ComponentModel model)
Description copied from interface:UserStorageProviderFactorycalled per Keycloak transaction.- Specified by:
createin interfaceComponentFactory<LDAPStorageProvider,UserStorageProvider>- Specified by:
createin 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:ComponentFactoryCalled before a component is created or updated. Allows you to validate the configuration- Specified by:
validateConfigurationin interfaceComponentFactory<LDAPStorageProvider,UserStorageProvider>- Specified by:
validateConfigurationin interfaceUserStorageProviderFactory<LDAPStorageProvider>- Throws:
ComponentValidationException
-
init
public void init(Config.Scope config)
Description copied from interface:ProviderFactoryOnly called once when the factory is first created. This config is pulled from keycloak_server.json- Specified by:
initin interfaceProviderFactory<UserStorageProvider>- Specified by:
initin interfaceUserStorageProviderFactory<LDAPStorageProvider>
-
close
public void close()
Description copied from interface:ProviderFactoryThis is called when the server shuts down.- Specified by:
closein interfaceProviderFactory<UserStorageProvider>- Specified by:
closein interfaceUserStorageProviderFactory<LDAPStorageProvider>
-
getId
public String getId()
Description copied from interface:UserStorageProviderFactoryThis is the name of the provider and will be showed in the admin console as an option.- Specified by:
getIdin interfaceProviderFactory<UserStorageProvider>- Specified by:
getIdin interfaceUserStorageProviderFactory<LDAPStorageProvider>
-
onCreate
public void onCreate(KeycloakSession session, RealmModel realm, ComponentModel model)
Description copied from interface:UserStorageProviderFactoryCalled 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:
onCreatein interfaceComponentFactory<LDAPStorageProvider,UserStorageProvider>- Specified by:
onCreatein interfaceUserStorageProviderFactory<LDAPStorageProvider>
-
onUpdate
public void onUpdate(KeycloakSession session, RealmModel realm, ComponentModel oldModel, ComponentModel newModel)
Description copied from interface:ComponentFactoryCalled after the component is updated.- Specified by:
onUpdatein interfaceComponentFactory<LDAPStorageProvider,UserStorageProvider>oldModel- old saved modelnewModel- new configuration
-
preRemove
public void preRemove(KeycloakSession session, RealmModel realm, ComponentModel model)
Description copied from interface:ComponentFactoryCalled before the component is removed.- Specified by:
preRemovein 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:
syncin interfaceImportSynchronization
-
syncSince
public SynchronizationResult syncSince(Date lastSync, KeycloakSessionFactory sessionFactory, String realmId, UserStorageProviderModel model)
- Specified by:
syncSincein 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)
-
-