23 lines
No EOL
792 B
JavaScript
23 lines
No EOL
792 B
JavaScript
"use strict";
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
exports.requireAuth = requireAuth;
|
|
const jose_1 = require("jose");
|
|
const secret = () => new TextEncoder().encode(process.env.JWT_SECRET ?? 'fallback-dev-secret');
|
|
async function requireAuth(req, res, next) {
|
|
const header = req.headers.authorization;
|
|
if (!header?.startsWith('Bearer ')) {
|
|
res.status(401).json({ error: 'Unauthorized' });
|
|
return;
|
|
}
|
|
try {
|
|
const token = header.slice(7);
|
|
const { payload } = await (0, jose_1.jwtVerify)(token, secret());
|
|
req.userId = payload.userId;
|
|
req.userRole = payload.role;
|
|
next();
|
|
}
|
|
catch {
|
|
res.status(401).json({ error: 'Invalid or expired token' });
|
|
}
|
|
}
|
|
//# sourceMappingURL=auth.js.map
|