← back to Wine Finder
routes/auth.js
43 lines
const express = require('express');
const router = express.Router();
// Login endpoint
router.post('/login', (req, res) => {
const { username, password } = req.body;
const validUsername = process.env.ADMIN_USER || 'admin';
const validPassword = process.env.ADMIN_PASS || '2025';
// Sanitize inputs
if (!username || !password || typeof username !== 'string' || typeof password !== 'string') {
return res.status(400).json({
success: false,
error: 'Invalid credentials format'
});
}
if (username === validUsername && password === validPassword) {
req.session.authenticated = true;
req.session.username = username;
return res.json({
success: true,
message: 'Authentication successful'
});
} else {
return res.status(401).json({
success: false,
error: 'Invalid username or password'
});
}
});
// Check authentication status
router.get('/status', (req, res) => {
res.json({
authenticated: !!req.session.authenticated
});
});
module.exports = router;