22 lines
665 B
JavaScript
22 lines
665 B
JavaScript
const jwt = require('jsonwebtoken');
|
|
|
|
exports.verifyToken = (req, res, next) => {
|
|
try {
|
|
const authHeader = req.headers['authorization'];
|
|
if (!authHeader) {
|
|
return res.status(401).json({ error: '토큰 없음' });
|
|
}
|
|
|
|
const token = authHeader.split(' ')[1];
|
|
if (!token) {
|
|
return res.status(401).json({ error: '토큰 누락' });
|
|
}
|
|
|
|
const decoded = jwt.verify(token, process.env.JWT_SECRET);
|
|
req.user = decoded;
|
|
next(); // ✅ 반드시 next 호출
|
|
} catch (err) {
|
|
console.error('[verifyToken 오류]', err.message);
|
|
return res.status(403).json({ error: '토큰 검증 실패', detail: err.message });
|
|
}
|
|
}; |