mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-10-26 16:46:12 +01:00
fix: login handler to handle if non-confirmed email is entered
This commit is contained in:
@@ -262,6 +262,8 @@ authenticationController.login = async (req, res, next) => {
|
|||||||
const username = await user.getUsernameByEmail(req.body.username);
|
const username = await user.getUsernameByEmail(req.body.username);
|
||||||
if (username !== '[[global:guest]]') {
|
if (username !== '[[global:guest]]') {
|
||||||
req.body.username = username;
|
req.body.username = username;
|
||||||
|
} else {
|
||||||
|
return errorHandler(req, res, '[[error:invalid-email]]', 400);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (isEmailLogin || isUsernameLogin) {
|
if (isEmailLogin || isUsernameLogin) {
|
||||||
|
|||||||
@@ -5,8 +5,8 @@ const assert = require('assert');
|
|||||||
const url = require('url');
|
const url = require('url');
|
||||||
const nconf = require('nconf');
|
const nconf = require('nconf');
|
||||||
|
|
||||||
const request = require('../src/request');
|
|
||||||
const db = require('./mocks/databasemock');
|
const db = require('./mocks/databasemock');
|
||||||
|
const request = require('../src/request');
|
||||||
const user = require('../src/user');
|
const user = require('../src/user');
|
||||||
const utils = require('../src/utils');
|
const utils = require('../src/utils');
|
||||||
const meta = require('../src/meta');
|
const meta = require('../src/meta');
|
||||||
@@ -52,8 +52,8 @@ describe('authentication', () => {
|
|||||||
meta.config.allowLoginWith = 'username-email';
|
meta.config.allowLoginWith = 'username-email';
|
||||||
const uid = await user.create({ username: '2nduser', password: '2ndpassword', email: '2nduser@nodebb.org' });
|
const uid = await user.create({ username: '2nduser', password: '2ndpassword', email: '2nduser@nodebb.org' });
|
||||||
const { response, body } = await helpers.loginUser('2nduser@nodebb.org', '2ndpassword');
|
const { response, body } = await helpers.loginUser('2nduser@nodebb.org', '2ndpassword');
|
||||||
assert.strictEqual(response.statusCode, 403);
|
assert.strictEqual(response.statusCode, 400);
|
||||||
assert.strictEqual(body, '[[error:invalid-login-credentials]]');
|
assert.strictEqual(body, '[[error:invalid-email]]');
|
||||||
meta.config.allowLoginWith = oldValue;
|
meta.config.allowLoginWith = oldValue;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user