Files
org-todo-pwa/routes/auth.js

38 lines
1.0 KiB
JavaScript

const express = require('express');
const basicAuth = require('basic-auth');
const logger = require('../logger');
const router = express.Router();
router.post('/login', (req, res) => {
const user = basicAuth(req);
const username = process.env.AUTH_USERNAME;
const password = process.env.AUTH_PASSWORD;
if (user && user.name === username && user.pass === password) {
req.session.user = user.name;
res.status(200).send('Login successful');
logger.info(`User ${user.name} logged in`);
} else {
res.status(401).send('Authentication required');
}
});
router.post('/logout', (req, res) => {
req.session.destroy((err) => {
if (err) {
return res.status(500).send('Error logging out');
}
res.clearCookie('connect.sid');
res.status(200).send('Logout successful');
});
});
router.get('/check-session', (req, res) => {
if (req.session.user) {
res.json({ loggedIn: true });
} else {
res.json({ loggedIn: false });
}
});
module.exports = router;