@jurapuris
Front-end developer

Как выбрать в mongodb информацию у сессионного юзера?

При отправке формы для авторизации проверяю данные юзера, в случае успеха записываю в сессию.
Далее делаю редирект на страницу пользователя с его инфой.
Я так понимаю необходимо записать в стору сессионого юзера, и в роуте при 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')
    }
  })
})
  • Вопрос задан
  • 196 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы