import jwt from "jsonwebtoken"; import { JWT_SECRET } from "../lib/config.js"; import { getUserById } from "../lib/userService.js"; export async function requireAuth(req, res, next) { const authHeader = req.headers.authorization || ""; const token = authHeader.startsWith("Bearer ") ? authHeader.slice(7).trim() : null; if (!token) { return res.status(401).json({ error: "Inloggen vereist." }); } try { const payload = jwt.verify(token, JWT_SECRET); const user = await getUserById(payload.sub); if (!user) { return res.status(401).json({ error: "Gebruiker niet gevonden." }); } req.user = user; req.token = token; next(); } catch (error) { return res.status(401).json({ error: "Ongeldige of verlopen token." }); } }