Make password strength be 8 chars

Fixes #434
This commit is contained in:
Girish Ramakrishnan
2018-06-11 12:55:24 -07:00
parent 6534297a5d
commit c099d5d3fa
3 changed files with 9 additions and 41 deletions

View File

@@ -5,8 +5,7 @@
// From https://www.npmjs.com/package/password-generator
exports = module.exports = {
generate: generate,
validate: validate
generate: generate
};
var assert = require('assert'),
@@ -37,11 +36,3 @@ function generate() {
return password;
}
function validate(password) {
assert.strictEqual(typeof password, 'string');
if (!password.match(gPasswordTestRegExp)) return new Error('Password must be 8-30 character with at least one uppercase, one numeric and one special character');
return null;
}

View File

@@ -128,36 +128,6 @@ describe('User', function () {
});
});
it('fails due to missing upper case password', function (done) {
users.create(USERNAME, 'thisiseightch%$234arslong', EMAIL, DISPLAY_NAME, AUDIT_SOURCE, function (error, result) {
expect(error).to.be.ok();
expect(result).to.not.be.ok();
expect(error.reason).to.equal(UsersError.BAD_FIELD);
done();
});
});
it('fails due to missing numerics in password', function (done) {
users.create(USERNAME, 'foobaRASDF%', EMAIL, DISPLAY_NAME, AUDIT_SOURCE, function (error, result) {
expect(error).to.be.ok();
expect(result).to.not.be.ok();
expect(error.reason).to.equal(UsersError.BAD_FIELD);
done();
});
});
it('fails due to missing special chars in password', function (done) {
users.create(USERNAME, 'foobaRASDF23423', EMAIL, DISPLAY_NAME, AUDIT_SOURCE, function (error, result) {
expect(error).to.be.ok();
expect(result).to.not.be.ok();
expect(error.reason).to.equal(UsersError.BAD_FIELD);
done();
});
});
it('fails due to reserved username', function (done) {
users.create('admin', PASSWORD, EMAIL, DISPLAY_NAME, AUDIT_SOURCE, function (error, result) {
expect(error).to.be.ok();

View File

@@ -45,7 +45,6 @@ var assert = require('assert'),
userdb = require('./userdb.js'),
util = require('util'),
uuid = require('uuid'),
validatePassword = require('./password.js').validate,
validator = require('validator'),
_ = require('underscore');
@@ -122,6 +121,14 @@ function validateDisplayName(name) {
return null;
}
function validatePassword(password) {
assert.strictEqual(typeof password, 'string');
if (password.length < 8) return new UsersError(UsersError.BAD_FIELD, 'Password must be atleast 8 characters');
return null;
}
function removePrivateFields(user) {
return _.pick(user, 'id', 'username', 'email', 'fallbackEmail', 'displayName', 'groupIds', 'admin');
}