Этот фрагмент кода является частью Express маршрута для обработки логина пользователя. Все идет хорошо, но ответ никогда не возвращается. Console.log перед оператором return возвращает токен, так что я знаю, что jwt правильно подписывает токен, а все остальное до этого работает нормально. Но между консолью и оператором возврата ответ просто зависает, и функция отключается. Есть идеи, почему это происходит?
User.findOne({ email }, { _id: 1, name: 1 })
.then(user => {
jwt.sign({
_id: user._id,
name: user.name
}, authSecret, { expiresIn: "3d" }, (err, token) => {
if(err) return res.status(500).json({ message: err.message });
console.log(`Token signed: ${token}`);
return res.status(201).cookie("accessToken", token, {
httpOnly: true,
maxAge: 3*24*60*60*1000,
signed: true,
secure: true
});
});
})