From 45a757b589ad53616644d472e57ff0ab20ffa177 Mon Sep 17 00:00:00 2001 From: Sabe Jones Date: Wed, 3 Oct 2018 14:01:45 -0500 Subject: [PATCH] fix(auth): account for new username paradigm in add-local flow --- website/common/locales/en/messages.json | 1 - website/server/libs/auth/index.js | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/website/common/locales/en/messages.json b/website/common/locales/en/messages.json index 60ee7032b0..2ddeef84fc 100644 --- a/website/common/locales/en/messages.json +++ b/website/common/locales/en/messages.json @@ -42,7 +42,6 @@ "messageAuthPasswordMustMatch": ":password and :confirmPassword don't match", "messageAuthCredentialsRequired": ":username, :email, :password, :confirmPassword required", - "messageAuthUsernameTaken": "Username already taken", "messageAuthEmailTaken": "Email already taken", "messageAuthNoUserFound": "No user found.", "messageAuthMustBeLoggedIn": "You must be logged in.", diff --git a/website/server/libs/auth/index.js b/website/server/libs/auth/index.js index 675773f25d..072eb550c2 100644 --- a/website/server/libs/auth/index.js +++ b/website/server/libs/auth/index.js @@ -117,7 +117,7 @@ async function registerLocal (req, res, { isV3 = false }) { if (user) { if (email === user.auth.local.email) throw new NotAuthorized(res.t('emailTaken')); // Check that the lowercase username isn't already used - if (lowerCaseUsername === user.auth.local.lowerCaseUsername) throw new NotAuthorized(res.t('usernameTaken')); + if (lowerCaseUsername === user.auth.local.lowerCaseUsername && existingUser._id !== user._id) throw new NotAuthorized(res.t('usernameTaken')); } let hashed_password = await passwordUtils.bcryptHash(password); // eslint-disable-line camelcase