fix(auth): Don't try to check existing username on new reg

This commit is contained in:
Sabe Jones
2018-10-03 15:56:09 -05:00
parent fead027cd2
commit 90d35d2f1f
2 changed files with 6 additions and 2 deletions

View File

@@ -473,7 +473,7 @@ describe('POST /user/auth/local/register', () => {
}); });
it('rejects if username is already taken', async () => { it('rejects if username is already taken', async () => {
let uniqueEmail = `${generateRandomUserName()}@exampe.com`; let uniqueEmail = `${generateRandomUserName()}@example.com`;
let password = 'password'; let password = 'password';
await expect(api.post('/user/auth/local/register', { await expect(api.post('/user/auth/local/register', {

View File

@@ -117,7 +117,11 @@ async function registerLocal (req, res, { isV3 = false }) {
if (user) { if (user) {
if (email === user.auth.local.email) throw new NotAuthorized(res.t('emailTaken')); if (email === user.auth.local.email) throw new NotAuthorized(res.t('emailTaken'));
// Check that the lowercase username isn't already used // Check that the lowercase username isn't already used
if (existingUser) {
if (lowerCaseUsername === user.auth.local.lowerCaseUsername && existingUser._id !== user._id) throw new NotAuthorized(res.t('usernameTaken')); if (lowerCaseUsername === user.auth.local.lowerCaseUsername && existingUser._id !== user._id) throw new NotAuthorized(res.t('usernameTaken'));
} else if (lowerCaseUsername === user.auth.local.lowerCaseUsername) {
throw new NotAuthorized(res.t('usernameTaken'));
}
} }
let hashed_password = await passwordUtils.bcryptHash(password); // eslint-disable-line camelcase let hashed_password = await passwordUtils.bcryptHash(password); // eslint-disable-line camelcase