From db2640a8151147052356ac0601c71f8b01f0ca2e Mon Sep 17 00:00:00 2001 From: Paolo Arena Date: Mon, 4 Mar 2019 19:18:54 +0100 Subject: [PATCH] LOGIN: Accessing by Username or Email --- server/models/user.js | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/server/models/user.js b/server/models/user.js index d379304..1cf323b 100644 --- a/server/models/user.js +++ b/server/models/user.js @@ -10,7 +10,9 @@ mongoose.Promise = global.Promise; mongoose.level = "F"; // Resolving error Unknown modifier: $pushAll -mongoose.plugin(schema => { schema.options.usePushEach = true }); +mongoose.plugin(schema => { + schema.options.usePushEach = true +}); mongoose.set('debug', process.env.DEBUG); @@ -102,7 +104,9 @@ UserSchema.methods.generateAuthToken = function (req) { var date_login = new Date(); // CANCELLA IL PRECEDENTE ! - user.tokens = user.tokens.filter(function(tok) { return (tok.access !== access) || ((tok.access === access) && (tok.browser !== browser) ) ; }); + user.tokens = user.tokens.filter(function (tok) { + return (tok.access !== access) || ((tok.access === access) && (tok.browser !== browser)); + }); user.tokens.push({ access, browser, token, date_login }); return user.save() @@ -154,8 +158,15 @@ UserSchema.statics.findByCredentials = function (username, password) { return User.findOne({ username: username }).then((user) => { if (!user) { - return null; + // Check if with email: + return User.findOne({ email: username }) + } else { + return user } + }).then(user => { + if (!user) + return null; + pwd = user.password; return new Promise((resolve, reject) => {