LOGIN: Accessing by Username or Email

This commit is contained in:
Paolo Arena
2019-03-04 19:18:54 +01:00
parent 8fe9199162
commit db2640a815

View File

@@ -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) => {