Make user id a uuid.v4() and allow empty usernames

This commit is contained in:
Johannes Zellner
2016-04-01 16:48:34 +02:00
parent 7a5ac1a2f5
commit 726d154890

View File

@@ -34,6 +34,7 @@ var assert = require('assert'),
tokendb = require('./tokendb.js'),
userdb = require('./userdb.js'),
util = require('util'),
uuid = require('node-uuid'),
validatePassword = require('./password.js').validate,
validator = require('validator'),
_ = require('underscore');
@@ -76,6 +77,9 @@ UserError.BAD_TOKEN = 'Bad token';
function validateUsername(username) {
assert.strictEqual(typeof username, 'string');
// allow empty usernames
if (username === '') return null;
if (username.length <= 2) return new UserError(UserError.BAD_USERNAME, 'Username must be atleast 3 chars');
if (username.length > 256) return new UserError(UserError.BAD_USERNAME, 'Username too long');
@@ -139,7 +143,7 @@ function createUser(username, password, email, displayName, options, callback) {
var now = (new Date()).toISOString();
var user = {
id: username,
id: 'uid-' + uuid.v4(),
username: username,
email: email,
password: new Buffer(derivedKey, 'binary').toString('hex'),