diff options
Diffstat (limited to 'models/passport.js')
-rwxr-xr-x | models/passport.js | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/models/passport.js b/models/passport.js new file mode 100755 index 0000000..15020a7 --- /dev/null +++ b/models/passport.js @@ -0,0 +1,19 @@ +const mongoose = require('mongoose'); +const passport = require('passport'); +const LocalStrategy = require('passport-local'); + +const User = mongoose.model('User'); + +passport.use(new LocalStrategy({ + usernameField: 'user[email]', + passwordField: 'user[password]', +}, (email, password, done) => { + User.findOne({ email }) + .then((user) => { + if(!user || !user.validatePassword(password)) { + return done(null, false, { errors: { 'Email or password': 'is invalid' } }); + } + + return done(null, user); + }).catch(done); +}));
\ No newline at end of file |