2017-01-31 9 views
0

Я хочу, чтобы установить и получить сеанс из текущего вошедшего пользователя, так что я сделал что-то вроде этого:не могу получить текущий сеанс экспресс

router.post('/login', function (req, res) { 
    if (JSON.stringify(req.body) == "{}") { 
    return res.status(400).json({ message: "corpo vazio" }); 
    } 

    if (!req.body.email) { 
    return res.status(400).json({ message: "tem que especificar um email" }); 
    } 

    if (!req.body.password) { 
    return res.status(400).json({ message: "tem que especificar uma password" }); 
    } 

    Loja.findOne({ email: req.body.email }, function (err, loja) { 
    if (!loja) { 
     return res.status(404).json({ message: "login invalido" }); 
    } 
    if (loja.password != req.body.password) { 
     return res.status(400).json({ message: "password invalida" }); 
    } 
    if (err) { 
     return res.status(500); 
    } 
    // se tudo correr bem guarda a sessao do utilizador 
    req.session.loja = loja; 
    return res.send(req.session.loja); 
    }); 
}); 

затем, чтобы восстановить сессию я сделать что-то вроде этого:

router.get('/confirm-login',function(req,res){ 
    return res.send(req.session.loja); 
}); 

пробовал наши первые хорошо работает, он посылает мне ответ с полным объект, который должен быть сохранен, но когда я попал подтвердить-логин на почтальона это отправить мне пустой ответ: S, какие Я поступаю неправильно?

ответ

0

Когда вы пишете такой маршрут, который Вы должны сначала проверить наличие session и вещи вы привязаны к нему и отправить правильный ответ иначе:

router.get('/confirm-login',function(req,res){ 
    if (req.session && req.session.loja) { 
    res.send(req.session.loja); 
    } else { 
    res.status(401).send({ status: 'Unauthorized'}); 
    } 
}); 


Почтальон хром приложение не может обрабатывать печенье само по себе. Чтобы работать с файлами cookie, вы должны установить расширение chrome под названием Postman Interceptor (см. Documentation). Итак, если вы используете Chrome-приложение, убедитесь, что у вас установлено это расширение и включено (включено). enter image description here

+0

спасибо, решена часть проблемы, я получил сеанс сейчас, это как-то связано с парсером cookie, теперь у меня есть другая проблема, как я могу получить сеанс, когда пользователь вошел в систему? –

 Смежные вопросы

  • Нет связанных вопросов^_^