Configuring The LDAP Identity Provider

The LDAP Identity Provider is used to define how users are retrieved from the LDAP server.

It can be found in the management console under the Apache Jackrabbit Oak LDAP Identity Provider name.

The following configuration options are available for the LDAP Identity Provider:

LDAP Provider NameName of this LDAP provider configuration.
LDAP Server HostnameHostname of the LDAP server
LDAP Server PortPort of the LDAP server
Use SSLIndicates if an SSL (LDAPs) connection should be used.
Use TLSIndicates if TLS should be started on connections.
Disable certificate checkingIndicates if server certificate validation should be disabled.
Bind DNDN of the user for authentication. If this field is left empty, an anonymous bind is performed.
Bind PasswordPassword of the user for authentication
Search timeoutTime until a search times out
Admin pool max activeThe maximum active size of the admin connection pool.
User pool max activeThe maximum active size of the user connection pool.
User base DNThe DN for user searches
User object classesThe list of object classes that a user entry must contain.
User id attributeName of the attribute that contains the user id.
User extra filterExtra LDAP filter to use when searching for users. The final filter is formatted like: '(&(<idAttr>=<userId>)(objectclass=<objectclass>)<extraFilter>)' (user.extraFilter)
User DN pathsControls if the DN should be used for calculating a portion of the intermediate path.
Group base DNThe base DN for group searches.
Group object classesThe list of object classes a group entry must contain.
Group name attributeName of the attribute that contains the group name.
Group extra filterExtra LDAP filter to use when searching for groups. The final filter isformatted like: '(&(<nameAttr>=<groupName>)(objectclass=<objectclass>)<extraFilter>)'
Group DN pathsControls if the DN should be used for calculating a portion of the intermediate path.
Group member attributeGroup attribute that contains one or more members of a group.

Configuring The Synchronization Handler

The synchronization handler defines how the Identity Provider users and groups are synchronized with the repository.

It is located under the Apache Jackrabbit Oak Default Sync Handler name in the management console.

The following configurations options are available for the Synchronization Handler:

Sync Handler NameName of the sync configuration.
User Expiration TimeDuration until a synced user gets expired.
User auto membershipList of groups that a synced user is automatically added to.
User property mappingList-mapping definition of local properties from external ones.
User Path PrefixThe path prefix used when creating users.
User Membership ExpirationTime after which membership expires.
User membership nesting depthReturns the maximum depth of group nesting when membership relations are synced. A value of 0 effectively disables group membership lookup. A value of 1 only adds the direct groups of a user. This value has no effect when syncing individual groups only when syncing a users membership ancestry.
Group Expiration TimeDuration until a synced group expires.
Group auto membershipList of groups that a synced group is automatically added to.
Group property mappingList-mapping definition of local properties from external ones.
Group path prefixThe path prefix used when creating groups.

The external login module

The external login module is located under the Apache Jackrabbit Oak External Login Module under the management console.

NOTE
The Apache Jackrabbit Oak External Login Module implements the Java™ Authentication and Authorization Servi (JAAS) specifications. See the official Oracle Java™ Security Reference Guide for more information.

Its job is to define which Identity Provider and Sync Handler to use, effectively binding the two modules.

The following configuration options are available:

JAAS RankingSpecifying the ranking (that is, sort order) of this login module entry. The entries are sorted in a descending order (that is, higher value ranked configurations come first).
JAAS Control FlagProperty specifying whether a LoginModule is REQUIRED, REQUISITE, SUFFICIENT, or OPTIONAL. See the JAAS configuration documentation for more details around the meaning of these flags.
JAAS RealmThe realm name (or application name) against which the LoginModule is registered. If no realm name is provided, then LoginModule is registered with a default realm as configured in the Felix JAAS configuration.
Identity Provider NameName of the identity provider.
Sync Handler NameName of the sync handler.
NOTE
If you plan on having more than one LDAP configuration with your AEM instance, separate Identity Providers and Synchronization Handlers must be created for each configuration.