diff --git a/src/externalldap.js b/src/externalldap.js index 9f374209b..78eb3ffb3 100644 --- a/src/externalldap.js +++ b/src/externalldap.js @@ -337,7 +337,7 @@ async function syncUsers(externalLdapConfig, progressCallback) { debug(`syncUsers: [adding user] username=${ldapUser.username} email=${ldapUser.email} displayName=${ldapUser.displayName}`); const [userAddError] = await safe(users.add(ldapUser.email, { username: ldapUser.username, password: null, displayName: ldapUser.displayName, source: 'ldap' }, AuditSource.EXTERNAL_LDAP_TASK)); - if (userAddError) debug('syncUsers: Failed to create user', ldapUser, userAddError.message); + if (userAddError) debug('syncUsers: Failed to create user', ldapUser, userAddError); } else if (user.source !== 'ldap') { debug(`syncUsers: [mapping user] username=${ldapUser.username} email=${ldapUser.email} displayName=${ldapUser.displayName}`); diff --git a/src/users.js b/src/users.js index 41ac4df23..d9cfcea92 100644 --- a/src/users.js +++ b/src/users.js @@ -184,9 +184,10 @@ async function add(email, data, auditSource) { assert(data.username === null || typeof data.username === 'string'); assert(data.password === null || typeof data.password === 'string'); assert.strictEqual(typeof data.displayName, 'string'); - assert.strictEqual(typeof data.fallbackEmail, 'string'); + if ('fallbackEmail' in data) assert.strictEqual(typeof data.fallbackEmail, 'string'); - let { username, password, displayName, fallbackEmail } = data; + let { username, password, displayName } = data; + let fallbackEmail = data.fallbackEmail || ''; const source = data.source || ''; // empty is local user const role = data.role || exports.ROLE_USER;