Esta es mi solicitud de actualización para actualizar un usuario, pero el título es el resultado que obtengo
router.put("/:id", verifyTokenAndAuthorization, async (req, res) => { if (req.user.password) { req.body.password = CryptoJS.AES.encrypt( req.body.password, process.env.PASS_SEC ).toString(); } try { const updatedUser = await User.findByIdAndUpdate( req.user.id, { $set: req.body, }, { new: true } ); res.status(200).json(updatedUser); } catch (err) { res.status(500).json(err); } });
Pero la solicitud no pasa
const verifyTokenAndAuthorization = (req, res, next) => { verifyToken(req, res, () => { console.log("req recived for login"); if (req.user.id === req.params.id || req.user.isAdmin) { console.log("req went past verification"); next(); } else { res.status(403).json("You are not allowed to access!"); } }); };
el problema está antes de que el requisito de salida pasara la verificación
Esto está impreso en mi consola.
solicitud recibida para el error de inicio de sesión = "No se pueden leer las propiedades de undefined (leyendo 'id')" en E:\E-com Project\ver-one-zero-one-api\routes\verifyToken.js:20:18