Merge pull request #770 from SISheogorath/fix/ldapUUID
Add check for undefined UUID
This commit is contained in:
commit
5361a97188
1 changed files with 8 additions and 1 deletions
|
@ -23,11 +23,18 @@ passport.use(new LDAPStrategy({
|
||||||
tlsOptions: config.ldap.tlsOptions || null
|
tlsOptions: config.ldap.tlsOptions || null
|
||||||
}
|
}
|
||||||
}, function (user, done) {
|
}, function (user, done) {
|
||||||
var uuid = user.uidNumber || user.uid || user.sAMAccountName
|
var uuid = user.uidNumber || user.uid || user.sAMAccountName || undefined
|
||||||
if (config.ldap.useridField && user[config.ldap.useridField]) {
|
if (config.ldap.useridField && user[config.ldap.useridField]) {
|
||||||
uuid = user[config.ldap.useridField]
|
uuid = user[config.ldap.useridField]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (typeof uuid === 'undefined') {
|
||||||
|
throw new Error('Could not determine UUID for LDAP user. Check that ' +
|
||||||
|
'either uidNumber, uid or sAMAccountName is set in your LDAP directory ' +
|
||||||
|
'or use another unique attribute and configure it using the ' +
|
||||||
|
'"useridField" option in ldap settings.')
|
||||||
|
}
|
||||||
|
|
||||||
var username = uuid
|
var username = uuid
|
||||||
if (config.ldap.usernameField && user[config.ldap.usernameField]) {
|
if (config.ldap.usernameField && user[config.ldap.usernameField]) {
|
||||||
username = user[config.ldap.usernameField]
|
username = user[config.ldap.usernameField]
|
||||||
|
|
Loading…
Reference in a new issue