При отправке формы для авторизации проверяю данные юзера, в случае успеха записываю в сессию.
Далее делаю редирект на страницу пользователя с его инфой.
Я так понимаю необходимо записать в стору сессионого юзера, и в роуте при get на страницу пользователя надо как-то выбрать именно этого юзера и там уже в базе искать его и извлекать инфу
Passport, токены не использую.
Приведен код, где отправляю данные с формы при авторизации
router.post('/login', (req, res) => {
let { firstName, password } = req.body
User.findOne({ firstName: firstName }, 'firstName userEmail password', (err, userData) => {
if(!err) {
let passwordCheck = bcrypt.compareSync(password, userData.password)
if ( passwordCheck ) {
req.session.user = {
firstName: userData.firstName,
userEmail: userData.userEmail,
_id: userData._id
}
req.session.user.expires = new Date(
Date.now() + 3 * 24 * 3600 * 1000
)
console.log('You are logged in', req.session.user)
// res.status(200).send({ user: req.session.user })
res.redirect('/login')
} else {
console.log('invaild login')
res.send(401).send('incorrect password')
}
} else {
console.log('invaild login')
res.status(401).send('invaild login')
}
})
})