Files
mek-tech-consulting/routes/auth.js
T

28 lines
894 B
JavaScript
Raw Normal View History

const express = require('express');
const router = express.Router();
const bcrypt = require('bcryptjs');
const { getDb } = require('../db');
router.get('/login', (req, res) => {
if (req.session.userId) return res.redirect('/');
res.render('login', { error: null, reset: req.query.reset === '1' });
});
router.post('/auth/login', (req, res) => {
const { username, password } = req.body;
const db = getDb();
const user = db.prepare('SELECT * FROM users WHERE username = ?').get(username);
if (!user || !bcrypt.compareSync(password, user.password_hash)) {
return res.render('login', { error: 'Ongeldige gebruikersnaam of wachtwoord', reset: false });
}
req.session.userId = user.id;
req.session.username = user.username;
res.redirect('/');
});
router.get('/auth/logout', (req, res) => {
req.session.destroy(() => res.redirect('/login'));
});
module.exports = router;