我是nodeJS和JWT的新手。 我想在注册时创建令牌,并在登录时确认它。 但是它一直抛出语法错误,我不知道为什么。 另外,如果我除了语法之外还做错了什么,请告诉我。
//Add new user A.K.A Registration
app.post('/addUser', (req, res) => {
const addUser = new User({username: req.body.username, password: req.body.password})
addUser.save().then(result => res.status(200).json(result)).catch((err) => console.log(err))
jwt.sign(addUser,'secretKey',{expiresIn:'30h'},(err,token)=>{
res.json({token})
})
})
//Log in A.K.A Sign Up
app.post('/logIn',verifyToken ,(req, res) => {
User.findOne({username: req.body.username, password: req.body.password}).then(result => {
if (result.username === req.body.username && result.password === req.body.password) {
res.status(200).send({
message: 'Successful login'})
jwt.verify(req.token, 'secretkey', (err, authData) => {
if(err) {
res.sendStatus(403);
} else {
res.json({
message: 'Post created...',
authData
});
}
})
} else {
res.status(404).send({
message: 'Invalid Login'
})
}
})
})
您应该将一个对象传递给json方法
// addUser.save().then(result => res.status(200).json(result))
.then(result => {
res.json({result})
})