Add basic login and register functionality

This commit is contained in:
Kevin Thomas
2021-07-22 23:55:30 -07:00
parent b4e791a21c
commit 9f5a3a5ad8
13 changed files with 300 additions and 25 deletions

View File

@@ -3,20 +3,16 @@ const passport = require('passport');
const router = express.Router();
/* GET users listing. */
router.get('/login', function(req, res, next) {
res.render('login');
router.post('/login/password', passport.authenticate('local'), function(req, res, next) {
if(req.user) {
res.json(req.user);
} else {
res.statusCode = 403;
}
});
router.post('/login/password', passport.authenticate('local', {
successRedirect: '/',
failureRedirect: '/login',
failureMessage: true
}));
router.get('/logout', function(req, res, next) {
req.logout();
res.redirect('/');
});
module.exports = router;

View File

@@ -1,9 +1,8 @@
const express = require('express');
const router = express.Router();
/* GET home page. */
router.get('/', function(req, res, next) {
res.render('index', { user: req.user });
res.json({ user: req.user });
});
module.exports = router;

View File

@@ -4,11 +4,8 @@ const db = require('../db');
const router = express.Router();
router.get('/new', function(req, res, next) {
res.render('signup');
});
router.post('/', function(req, res, next) {
console.log("REQ: ", req.body)
const salt = crypto.randomBytes(16);
crypto.pbkdf2(req.body.password, salt, 10000, 32, 'sha256', function(err, hashedPassword) {
if (err) { return next(err); }
@@ -28,7 +25,6 @@ router.post('/', function(req, res, next) {
};
req.login(user, function(err) {
if (err) { return next(err); }
res.redirect('/');
});
});
});