Я новичок в экосистеме javascript и хочу добавить токен jwt в ответ от этого маршрутизатора регистрации:
router.post('/register', (req, res)=> {
User.findOne({email: req.body.email})
.then(user => {
if(user) {
return res.status(400).json({error: 'Email already exists'});
} else {
const newUser = new User({
username: req.body.username,
email: req.body.email,
password: req.body.password
});
bcrypt.genSalt(10, (err, salt)=> {
bcrypt.hash(newUser.password, salt, (err, hash)=> {
if (err) throw err;
newUser.password = hash;
newUser.save()
.then(user => res.status(200).json(user)) //<=Problem is here
.catch(err => console.log(err));
} )
})
}
})
});
Фрагмент jwt (который отлично работает на longin
роутере):
const payload = {
username: user.username
}
//sign token
jwt.sign(
payload,
keys.secretOrKey,
{ expiresIn: 3600},
(err, token)=> {
res.json({
success: true,
token: 'Bearer '+ token,
username: username
});
});
Проблема в том, что я не знаю, как добавить фрагмент в заголовок ответа.
Когда я добавляю его после .then(user =>
, я получаю ошибку SyntaxError: Unexpected token const
.
Как я могу это сделать?