Creé la función Registrarse e iniciar sesión en node.js. Puedo registrar a un usuario usando cartero para realizar pruebas, pero cuando inicio sesión, usuario, devuelve un mensaje de error que configuré. No puedo rastrear cuál es el problema actualmente. ¿Puedes ayudarme?
export const signin = async (req, res) => { const { email, password } = req.body; try { const oldUser = await UserModal.findOne({ email }); if (!oldUser) return res.status(404).json({ message: "User doesn't exist" }); const isPasswordCorrect = await bcrypt.compare(password, oldUser.password); if (!isPasswordCorrect) return res.status(400).json({ message: "Invalid credentials" }); const token = jwt.sign({ email: oldUser.email, id: oldUser._id }, secret, { expiresIn: "1h" }); res.status(200).json({ result: oldUser, token }); } catch (err) { res.status(500).json({ message: "Something went wrong" }); } };a continuación se muestra la función de registro...
export const signup = async (req, res) => { const { email, password, firstName, lastName } = req.body; try { const oldUser = await UserModal.findOne({ email }); if (oldUser) return res.status(400).json({ message: "User already exists" }); const hashedPassword = await bcrypt.hash(password, 12); const result = await UserModal.create({ email, password: hashedPassword, name: `${firstName} ${lastName}` }); const token = jwt.sign( { email: result.email, id: result._id }, secret, { expiresIn: "1h" } ); res.status(201).json({ result, token }); } catch (error) { res.status(500).json({ message: "Something went wrong" }); console.log(error); } };