lyvuha-portfolio / backend /src /middleware /authMiddleware.js
Cong123779's picture
feat: add favicon, OG image, dual DB adapter (Supabase+SQLite), api utility
7c46a3a verified
Raw
History Blame Contribute Delete
620 Bytes
import jwt from 'jsonwebtoken';
export function authenticateAdmin(req, res, next) {
const authHeader = req.headers.authorization;
if (!authHeader || !authHeader.startsWith('Bearer ')) {
return res.status(401).json({
success: false,
message: 'Access denied. No token provided.'
});
}
const token = authHeader.split(' ')[1];
try {
const decoded = jwt.verify(token, process.env.JWT_SECRET || 'fallback_secret_key');
req.user = decoded;
next();
} catch (error) {
return res.status(401).json({
success: false,
message: 'Invalid or expired token.'
});
}
}