Advertisement
Guest User

Untitled

a guest
Feb 10th, 2017
139
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.97 KB | None | 0 0
  1. // Passport login LocalStrategy
  2. passport.use('login', new LocalStrategy({
  3. passReqToCallback : true
  4. }, function(req, username, password, done) {
  5. // check in mongo if a user with username exists or not
  6. User.findOne({ 'username' : username },
  7. function(err, user) {
  8. // In case of any error, return using the done method
  9. if (err)
  10. return done(err);
  11. // Username does not exist, log error & redirect back
  12. if (!user){
  13. console.log('User Not Found with username '+username);
  14. return done(null, false,
  15. req.flash('message', 'User Not found.'));
  16. }
  17. // User exists but wrong password, log the error
  18. if (!user.validPassword(password)){
  19. console.log('Invalid Password');
  20. return done(null, false,
  21. req.flash('message', 'Invalid Password'));
  22. }
  23. // User and password both match, return user from
  24. // done method which will be treated like success
  25. return done(null, user);
  26. }
  27. );
  28. }));
  29.  
  30. passport.use('signup', new LocalStrategy({
  31. passReqToCallback : true
  32. },
  33. function(req, username, password, done) {
  34. findOrCreateUser = function(){
  35. // find a user in Mongo with provided username
  36. User.findOne({'username':username},function(err, user) {
  37. // In case of any error return
  38. if (err){
  39. console.log('Error in SignUp: '+err);
  40. return done(err);
  41. }
  42. // already exists
  43. if (user) {
  44. console.log('User already exists');
  45. return done(null, false,
  46. req.flash('message','User Already Exists'));
  47. } else {
  48. // if there is no user with that email
  49. // create the user
  50. var newUser = new User();
  51. // set the user's local credentials
  52. newUser.username = username;
  53. newUser.password = password;
  54. newUser.email = req.param('email');
  55. // save the user
  56. newUser.save(function(err) {
  57. if (err){
  58. console.log('Error in Saving user: '+err);
  59. throw err;
  60. }
  61. console.log('User Registration succesful');
  62. return done(null, newUser);
  63. });
  64. }
  65. });
  66. };
  67. process.nextTick(findOrCreateUser);
  68. }));
  69.  
  70. var mongoose = require("mongoose");
  71.  
  72. var UserSchema = new mongoose.Schema({
  73. username: String,
  74. email: String,
  75. password: String,
  76. friends: [this]
  77. });
  78. UserSchema.methods.validPassword = function (pwd) {
  79. return (this.password === pwd);
  80. }
  81.  
  82. module.exports = mongoose.model("User", UserSchema);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement