diff --git a/server/lib/passport.js b/server/lib/passport.js index 97976590..d5784464 100644 --- a/server/lib/passport.js +++ b/server/lib/passport.js @@ -187,15 +187,15 @@ if (LdapStrategy) { return { id: user.id, - username: user.username, + username: profile[config.ldap.uidTag], name: profile[config.ldap.nameTag], - email: profile.mail, + email: profile[config.ldap.mailTag], role: user.role }; } catch (err) { if (err instanceof interoperableErrors.NotFoundError) { - const userId = await users.create(null, { + const userId = await users.create(contextHelpers.getAdminContext(), { username: profile[config.ldap.uidTag], role: config.ldap.newUserRole, namespace: config.ldap.newUserNamespaceId @@ -205,7 +205,7 @@ if (LdapStrategy) { id: userId, username: profile[config.ldap.uidTag], name: profile[config.ldap.nameTag], - email: profile.mail, + email: profile[config.ldap.mailTag], role: config.ldap.newUserRole }; } else { diff --git a/server/models/users.js b/server/models/users.js index 6ff8626e..09ebac92 100644 --- a/server/models/users.js +++ b/server/models/users.js @@ -258,7 +258,11 @@ async function getByAccessToken(accessToken) { } async function getByUsername(username) { - return await _getBy(contextHelpers.getAdminContext(), 'username', username); + try{ + return await _getBy(contextHelpers.getAdminContext(), 'username', username); + }catch(err){ + throw new interoperableErrors.NotFoundError(); + } } async function getByUsernameIfPasswordMatch(context, username, password) {