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
Modifier and TypeFieldDescriptionprotected static final List<ProviderConfigProperty>
static final String
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
close()
This is called when the server shuts down.create
(KeycloakSession session, ComponentModel model) called per Keycloak transaction.protected KerberosServerSubjectAuthenticator
createKerberosSubjectAuthenticator
(CommonKerberosConfig kerberosConfig) protected KerberosUsernamePasswordAuthenticator
createKerberosUsernamePasswordAuthenticator
(CommonKerberosConfig kerberosConfig) protected SPNEGOAuthenticator
createSPNEGOAuthenticator
(String spnegoToken, CommonKerberosConfig kerberosConfig) getId()
This is the name of the provider and will be showed in the admin console as an option.protected Map<ComponentModel,
LDAPConfigDecorator> getLDAPConfigDecorators
(KeycloakSession session, ComponentModel ldapModel) protected SynchronizationResult
importLdapUsers
(KeycloakSessionFactory sessionFactory, String realmId, ComponentModel fedModel, List<LDAPObject> ldapUsers) void
init
(Config.Scope config) Only called once when the factory is first created.void
onCreate
(KeycloakSession session, RealmModel realm, ComponentModel model) Called when UserStorageProviderModel is created.void
onUpdate
(KeycloakSession session, RealmModel realm, ComponentModel oldModel, ComponentModel newModel) Called after the component is updated.void
preRemove
(KeycloakSession session, RealmModel realm, ComponentModel model) Called before the component is removed.sync
(KeycloakSessionFactory sessionFactory, String realmId, UserStorageProviderModel model) protected SynchronizationResult
syncImpl
(KeycloakSessionFactory sessionFactory, LDAPQuery userQuery, String realmId, ComponentModel fedModel) protected void
syncMappers
(KeycloakSessionFactory sessionFactory, String realmId, ComponentModel model) syncSince
(Date lastSync, KeycloakSessionFactory sessionFactory, String realmId, UserStorageProviderModel model) void
validateConfiguration
(KeycloakSession session, RealmModel realm, ComponentModel config) Called before a component is created or updated.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 Details
-
PROVIDER_NAME
- See Also:
-
configProperties
-
-
Constructor Details
-
LDAPStorageProviderFactory
public LDAPStorageProviderFactory()
-
-
Method Details
-
getConfigProperties
- Specified by:
getConfigProperties
in interfaceConfiguredProvider
- Specified by:
getConfigProperties
in interfaceUserStorageProviderFactory<LDAPStorageProvider>
-
create
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
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
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
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
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)
-