diff options
author | lowercasename <raphaelkabo@gmail.com> | 2019-07-25 16:16:04 +0100 |
---|---|---|
committer | lowercasename <raphaelkabo@gmail.com> | 2019-07-25 16:16:04 +0100 |
commit | 930542049e40a1a99c9a0c2c349519ccddf52140 (patch) | |
tree | ace22d1e09c409bc47743a44b8f8ca41bb8b2dd6 /models/passport.js |
First commit
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 |