const jwt = require('jsonwebtoken'); if (!process.env.JWT_SECRET) { throw new Error('JWT_SECRET environment variable is required'); } const JWT_SECRET = process.env.JWT_SECRET; function authenticateToken(req, res, next) { const authHeader = req.headers['authorization']; const token = authHeader && authHeader.split(' ')[1]; // Bearer TOKEN if (!token) { return res.status(401).json({ error: 'Access token required' }); } jwt.verify(token, JWT_SECRET, (err, user) => { if (err) { return res.status(403).json({ error: 'Invalid or expired token' }); } req.user = user; next(); }); } module.exports = { authenticateToken, JWT_SECRET };