summaryrefslogtreecommitdiff
path: root/models/passport.js
diff options
context:
space:
mode:
Diffstat (limited to 'models/passport.js')
-rwxr-xr-xmodels/passport.js19
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