Spaces:
Sleeping
Sleeping
File size: 732 Bytes
97ec0e5 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
import jwt from 'jsonwebtoken';
import config from '../config/config.js';
export const generateToken = (payload) => {
return jwt.sign(payload, config.admin.jwtSecret, { expiresIn: '24h' });
};
export const verifyToken = (token) => {
return jwt.verify(token, config.admin.jwtSecret);
};
export const authMiddleware = (req, res, next) => {
const authHeader = req.headers.authorization;
const token = authHeader?.startsWith('Bearer ') ? authHeader.slice(7) : null;
if (!token) {
return res.status(401).json({ error: 'Token required' });
}
try {
const decoded = verifyToken(token);
req.user = decoded;
next();
} catch (error) {
return res.status(401).json({ error: 'Invalid token' });
}
}; |