dimsee
Version:
Modern, flexible authentication solution for MERN applications with OAuth support
28 lines (27 loc) • 751 B
JavaScript
;
// backend/middleware/auth.js - Auth Middleware
var jwt = require('jsonwebtoken');
function authMiddleware(extToken, extJwtSecret) {
(function (req, res, next) {
try {
var _ref = req.app.locals.authConfig || extJwtSecret,
jwtSecret = _ref.jwtSecret;
var token = req.cookies.authToken || extToken;
if (!token) {
return res.status(401).json({
success: false,
message: 'Access denied. No token provided.'
});
}
var decoded = jwt.verify(token, jwtSecret);
req.user = decoded;
next();
} catch (error) {
res.status(401).json({
success: false,
message: 'Invalid token'
});
}
});
}
module.exports = authMiddleware;