Advertisement
Guest User

Untitled

a guest
Dec 20th, 2016
110
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.76 KB | None | 0 0
  1. var passport = require('passport');
  2. var User = require('../models/users');
  3. var LocalStrategy = require('passport-local').Strategy;
  4.  
  5. passport.serializeUser((user, done)=>{
  6. done(null, user.id);
  7. });
  8.  
  9. passport.deserializeUser((id, done)=>{
  10. User.findById(id, (err, user)=>{
  11. done(err, user);
  12. });
  13. });
  14.  
  15. passport.use('local.signin', new LocalStrategy({
  16. usernameField: 'email', passwordField: 'password', passReqToCallback: true
  17. },(req, email, password, done) => {
  18. User.findOne({email:email}, (err, user) => {
  19. if (err){ return done(err)}
  20. if (!user){return done(null, false, {message:'This email is not registered'})}
  21. if (!user.validatePassword(password, user.password)){
  22. /**********************************************/
  23. //is this field user.password really necessary?
  24. /**********************************************/
  25. return done(null, false, {message: 'Authentication Failed'})
  26. } else {
  27. return done(null, user);
  28. }
  29. });
  30. }));
  31.  
  32. var mongoose = require('mongoose');
  33. var Schema = mongoose.Schema;
  34. var bcrypt = require('bcrypt-nodejs');
  35.  
  36. var userSchema = new Schema({
  37. salutation: {type: String, required: false},
  38. firstname: {type: String, required: true},
  39. lastname: {type: String, required: false},
  40. email: {type: String, required: true},
  41. password: {type: String, required: true}
  42. });
  43.  
  44. userSchema.methods.validatePassword = (password, x) => {
  45. console.log(this); //this is returning null
  46. return bcrypt.compareSync(password, x);
  47. /*********************************************************/
  48. //I was excepting this.password to work instead of using x
  49. /*********************************************************/
  50. }
  51.  
  52. userSchema.methods.myCourses = (userId) => {
  53. console.log(this.enrolledFor);
  54. }
  55.  
  56. module.exports = mongoose.model('User', userSchema);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement