-
Notifications
You must be signed in to change notification settings - Fork 0
/
server.js
133 lines (108 loc) · 3.36 KB
/
server.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
// setup
var express = require("express");
var app = express();
var mongoose = require("mongoose");
var passport = require("passport");
var LocalStrategy = require('passport-local').Strategy;
var path = require("path");
var bodyParser = require("body-parser");
var PORT = process.env.PORT || 8080;
// mongoose.Promise = global.Promise;
// var Schema = mongoose.Schema;
// var passportLocalMongoose = require('passport-local-mongoose');
// var userSchema = new Schema({
// username: String,
// password: String
// });
// userSchema.plugin(passportLocalMongoose);
// var User = mongoose.model('User', userSchema);
// module.exports = User;
// config
app.use(bodyParser.json());
app.use(express.static(path.join(__dirname, 'public')));
app.use(passport.initialize());
app.use(passport.session());
// passport config
// var user = require('./app/models/User.js');
// passport.use(new LocalStrategy({
// usernameField: 'email'
// }, function(username, password, done) {
// User.findOne({ username: username }, function (err, user) {
// if (err) { return done(err); }
// if (!user) { return done(null, false); }
// if (!user.verifyPassword(password)) { return done(null, false); }
// console.log("in the local strategy ");
// return done(null, user);
// });
// }
// ));
var User = require('./app/models/User.js');
passport.use(new LocalStrategy(
function(username, password, done) {
User.findOne({ username: username }, function (err, user) {
if (err) { return done(err); }
if (!user) {
return done(null, false, { message: 'Incorrect username.' });
}
if (!user.validPassword(password)) {
return done(null, false, { message: 'Incorrect password.' });
}
return done(null, user);
});
}
));
// passport.use('local-signup', new LocalStrategy(
// // {
// // usernameField: 'username',
// // passwordField: 'password',
// // passReqToCallback: true
// // }
// // function(username, password, done) {
// // process.nextTick(function () {
// // User.findOne({'username' : username}, function(err, user) {
// // if (err)
// // return done(err);
// // if (user) {
// // return done(err);
// // } else {
// // var newUser = new User();
// // newUser.username = username;
// // newUser.password = newUser.generateHash(password);
// // }
// // })
// // })
// // }
// function(username, password, done) {
// console.log("in the local strategy func");
// User.findOne({ username: username }, function (err, user) {
// if (err) { return done(err); }
// if (!user) {
// return done(null, false, { message: 'Incorrect username.' });
// }
// if (!user.validPassword(password)) {
// return done(null, false, { message: 'Incorrect password.' });
// }
// return done(null, user);
// });
// }
// ));
passport.serializeUser(function(user, done) {
done(null, user.id);
});
passport.deserializeUser(function(id, done) {
User.findById(id, function(err, user) {
done(err, user);
});
});
// create db
mongoose.connect("mongodb://localhost/test");
var db = mongoose.connection;
db.once("open", function () {
console.log("connected to db!");
});
// routes
require("./app/routes.js")(app);
// require('./node_modules/passport')(passport);
// start app
app.listen(PORT);
console.log("App listening on port " + PORT);