Toggle menu

LDAP-SSO

All calls are made via Java's JNDI API.

Requires a user with query privileges on the subtree that contains the users in order to validate that a user exists with the given username and query attributes of the user. The username and password of this privileged user is specified via the queryUserUsername and queryUserPassword configuration parameters.

The name of the attribute that contains the username must be specified via the usernameAttribute parameter. For active directory this will likely be sAMAccountName.

LDAP-SSO providers are invoked by a call to the authenticateViaLDAPSSO method, not via a login form entry.

Provider Linking

Linking to and from this provider type is always disabled. Providers of this type are almost always used to grant access to a corporate network. Linking an LDAP provider to a social provider could grant undue access to a user who logs in with their social account. By disabling linking potential problems with mirrored groups are also avoided.

ldapsso_basic

A second version of this provider type exists called ldapsso_basic.  This type is safe to use with provider linking because it will never create user groups, even if configured to do so.

Parameters

As well as the parameters described in Base Provider Parameters, the following must be set in the params object.

NameTypeDescription
Rquired
baseDNStringThe base DN(s), e.g. DC=forrest,DC=gump,DC=alabama
excludeMirroredLDAPGroupsArray<String>If includeMirroredLDAPGroups has not been provided then all groups will be created, excluding those in this list. Group names are case insensitive.

By default this list contains the following: ["BUILTIN","NT AUTHORITY"]
includeMirroredLDAPGroupsArray<String>If defined, only LDAP groups in this list of group names will be mirrored. Group names are case insensitive.

Default: null
ldapServerStringThe LDAP server host, with optional port. e.g. devdc1.lan.gossinteractive.com:3268
mirrorLDAPGroupsBooleanDefault: false.  If true, creates an iCM Site User group membership structure identical to that in LDAP. For example, assuming a provider prefix of LDAP_ and a user named administrator in the following LDAP groups:
  • admins
  • webteam
  • companyuser
upon this user authenticating iCM site user groups with the following names will be created if they do not already exist, and the user added to them:
  • LDAP
  • LDAP_ADMINS
  • LDAP_WEBTEAM
  • LDAP_COMPANYUSER
queryUserUsernameStringThe username of the user used to query user details.
queryUserPasswordStringThe password of the user used to query user details.
referralStringOne of the following, defaults to "ignore":

"ignore": Ignore referrals
"follow": Automatically follow any referrals
"throw": Throw a ReferralException for each referral

This property may have to be changed if querying an LDAP forest.

For more information see here.
usernameAttributeStringName of the LDAP attribute that contains usernames. The value of the username argument provided to AuthenticateViaLDAPSSO is matched against values in this attribute 'column'.
userProfileAttributeMappingMapMaps LDAP attributes as returned by the LDAP server (left) to the Auth worker's UserProfile class fields (right).   Only the UNIQUEID field is required. Case insensitive.
Optional
useLDAPSBooleanIf true calls will be made using LDAPS
userObjectClassStringDefault "user". The user object class. Update this based on the implementation you are connecting to. For example, AD = "user" whereas OpenLDAPO="person"

User Profile Data

Requested attributes: All with a value.

Provider NameMapped To
LDAP server dependent. A few of the most useful are documented below.
SAMACCOUNTNAMEUNIQUEID
GIVENNAMEFORNAMES
SNSURNAME
MAILEMAIL

See the Linking Providers, Account and Profile Management article for information about how profiles and email addresses are updated.

Example

{
    "providerName": "ldapserver", 
    "providerDisplayName": "LDAP Server", 
    "type": "ldapsso", 
    "userPrefix": "LD_", 
    "params": {
        "ldapServer": "10.10.45.11:3268",
        "baseDN": "DC=forrest,DC=gump,DC=alabama",
        "useLDAPS": true,
        "userObjectClass": "person",
        "usernameAttribute": "sAMAccountName",
        "queryUserUsername": "username",
        "queryUserPassword": "password",
        "mirrorLDAPGroups": true,
        "excludeMirroredLDAPGroups": ["ADMINISTRATORS", "DEVELOPERS"]
        "userProfileAttributeMapping": {
            "mapping": {
                "SAMACCOUNTNAME": {"mappings": ["UNIQUEID"]},
                "GIVENNAME": {"mappings": ["PREFERREDNAME","FORENAMES"]},
                "SN": {"mappings": ["SURNAME"]},
                "WHENCREATED": {"mappings": ["BIRTHDAY"]}
            }
        }
    }
}

Last modified on April 11, 2024

Share this page

Facebook icon Twitter icon email icon

Print

print icon