Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var passport = require('passport');
- var User = require('../models/users');
- var LocalStrategy = require('passport-local').Strategy;
- passport.serializeUser((user, done)=>{
- done(null, user.id);
- });
- passport.deserializeUser((id, done)=>{
- User.findById(id, (err, user)=>{
- done(err, user);
- });
- });
- passport.use('local.signin', new LocalStrategy({
- usernameField: 'email', passwordField: 'password', passReqToCallback: true
- },(req, email, password, done) => {
- User.findOne({email:email}, (err, user) => {
- if (err){ return done(err)}
- if (!user){return done(null, false, {message:'This email is not registered'})}
- if (!user.validatePassword(password, user.password)){
- /**********************************************/
- //is this field user.password really necessary?
- /**********************************************/
- return done(null, false, {message: 'Authentication Failed'})
- } else {
- return done(null, user);
- }
- });
- }));
- var mongoose = require('mongoose');
- var Schema = mongoose.Schema;
- var bcrypt = require('bcrypt-nodejs');
- var userSchema = new Schema({
- salutation: {type: String, required: false},
- firstname: {type: String, required: true},
- lastname: {type: String, required: false},
- email: {type: String, required: true},
- password: {type: String, required: true}
- });
- userSchema.methods.validatePassword = (password, x) => {
- console.log(this); //this is returning null
- return bcrypt.compareSync(password, x);
- /*********************************************************/
- //I was excepting this.password to work instead of using x
- /*********************************************************/
- }
- userSchema.methods.myCourses = (userId) => {
- console.log(this.enrolledFor);
- }
- module.exports = mongoose.model('User', userSchema);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement