У меня есть метод входа в мой nodejs, который отвечает на запрос внешнего интерфейса (actjs) информацией о пользователе, такой как электронная почта и пароль, при успешном входе в систему.Теперь я также внедрил JWT.Таким образом, после входа в систему узел также отправит токен клиенту.Но я не знаю, как это сделать.Как я могу отправить два ответа одновременно?Это только отправка информации о пользователе.
Узел:
server.js
app.post('/signin', (req, res) => { signin.handleSignin(req, res, db, bcrypt, jwt)});
signin.js
const handleSignin = (req, res, db, bcrypt, jwt) => {
const {
email,
password
} = req.body;
if (!email || !password) {
return res.status(400).json('Incorrect form submission');
}
db.select('email', 'hash').from('login')
.where('email', '=', email)
.then(data => {
const isValid = bcrypt.compareSync(password, data[0].hash);
if (isValid) {
return db.select('*').from('users')
.where('email', '=', email)
.then(user => {
jwt.sign({
user
}, 'secretkey', {
expiresIn: '1000s'
}, (err, token) => {
res.json(user[0]);
res.send({
token
})
})
})
.catch(err => res.status(400).json('unable to get user'))
} else {
res.status(400).json('wrong credentials')
}
})
.catch(err => res.status(400).json('wrong credentials'))
}
module.exports = {
handleSignin: handleSignin
}