· 9 years ago · Sep 09, 2016, 10:40 PM
1// POST - Login
2router.post('/users/login', function(req, res, next) {
3 User.find({username: req.body.username}, function(err, user) {
4 if(user.length < 1) {
5 res.send({message: 'Incorrect username'});
6 }
7 else {
8 let passwordHash = crypto.pbkdf2Sync(req.body.password, user[0].salt, 1000, 64).toString('hex');
9 if(user[0].passwordHash === passwordHash) {
10 let today:any = new Date();
11 let exp:any = new Date(today);
12 exp.setDate(today.getDate() + 36500);
13 let token = jwt.sign({
14 id: user[0]._id,
15 username: user[0].username,
16 exp: exp.getTime() / 1000
17 }, 'SecretKey');
18
19 res.send({message: 'Correct', jwt: token});
20 }
21 else {
22 res.send({message: 'Incorrect password'});
23 }
24 }
25 })
26});