UNPKG

secure-mern

Version:

A lightweight yet powerful npm package to enhance security in MERN stack applications. Built with enterprise-grade architecture in mind, secure-mern helps you integrate essential security features with minimal configuration.

22 lines (17 loc) 735 B
// middlewares/auth.js const jwt = require("jsonwebtoken"); const User = require("../models/User"); const auth = async (req, res, next) => { try { const token = req.header("Authorization")?.replace("Bearer ", ""); if (!token) return res.status(401).json({ message: "Access denied. No token provided." }); const decoded = jwt.verify(token, process.env.JWT_SECRET); const user = await User.findById(decoded.id).select("-password"); if (!user) return res.status(404).json({ message: "User not found" }); req.user = user; next(); } catch (err) { res.status(401).json({ message: "Invalid or expired token" }); } }; module.exports = auth;