-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathlocal.js
More file actions
73 lines (59 loc) · 1.63 KB
/
local.js
File metadata and controls
73 lines (59 loc) · 1.63 KB
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
//module.exports = init;
exports.init = function(app) {
var mysql = require('mysql');
var connection = null;
var passport = require('passport'), LocalStrategy = require('passport-local').Strategy;
passport.serializeUser(function(user, done) {
console.log('serial');
console.dir(user[0]);
user[0].userId = user[0].id;
delete user[0].idx;
delete user[0].password;
delete user[0].id;
done(null, user);
});
passport.deserializeUser(function(userId, done) {
connection.query('SELECT * FROM user_info WHERE id = ?', [userId], function(err, user) {
done(err, user);
});
});
passport.use(new LocalStrategy( {
usernameField: 'userId'
}, function(userId, password, done) {
console.log('local strategy called');
connection.query('SELECT * FROM user_info WHERE id = ? AND password = ?', [userId, password], function(err, results) {
console.log(results);
if (results.length == 0) {
return done(null, false, false);
} else {
return done(null, results);
}
});
}));
app.use(passport.initialize());
app.use(passport.session());
// development only
//Connect to MYSQL database local database - DEV
connection = mysql.createConnection({
host : 'enterkey.kr',
user : 'frontfloor',
password : 'frontfloor1',
database : 'mr_pres',
port : '3306'
});
connection.connect(function(err) {
// connected! (unless `err` is set)
if (!err) {
console.log('database connected');
} else {
console.log(err.code);
// 'ECONNREFUSED'
console.log(err.fatal);
// true
}
});
app.post('/login', passport.authenticate('local', {
successRedirect : '/',
failureRedirect : '/'
}));
}