const User = require("../models/user.js");
const { check, validationResult } = require('express-validator');
const cors = require("cors")
var jwt = require('jsonwebtoken');
var expressJwt = require('express-jwt');
exports.signin = (req,res) => {
const errors = validationResult(req);
const {email, password} = req.body;
if (!errors.isEmpty()){
return res.status(422).json({error : errors.array()[0].msg});
}
User.findOne({ email }, (err, user) => {
if (err || !user) {
return res.status(400).json({
error: "USER email does not exists"
});
}
if (!user.autheticate(password)) {
return res.status(401).json({
error: "Email and password do not match"
});
}
// generating token
var token = jwt.sign({_id: user._id}, process.env.SECRET);
//put these token into cookie token
res.cookie("token",token, {expire: new Date() + 9999});
//send response to front end
const {_id, name , email , role } = user;
return res.json({token , user: {_id , name , email , role}});
});
}
exports.signout = function(req, res) {
res.clearCookie("token");
return res.json({
message: "user siggned out",
})
}
Это код для входа в систему, и вы сталкиваетесь с ошибкой, что эти функции не работают полностью.
Он проверяет, существует ли электронная почта, затем покажет все данные или может показать успешную регистрацию.
Если ввести действительный адрес электронной почты с неверным паролем, чтобы он вошел в систему.
В чем будет ошибка и логин c для него?