express-session не находит объект req.session.user в nodejs - PullRequest
0 голосов
/ 30 мая 2018

Я использую узел js для бэкэнда, чтобы поддерживать сеанс. Я использую экспресс-сеанс, моя проблема в том, что я не могу получить доступ к req.session.user по другим маршрутам, я отлаживаю в маршруте входа в систему и вижу req.session.user, но другие маршруты не имеют req.session.user, я не уверен, где я допустил ошибку.

Заранее спасибо.

var express = require('express');
var path = require('path');
var logger = require('morgan');
var cookieParser = require('cookie-parser');
var bodyParser = require('body-parser');
var session = require('express-session');

//******SESSION Handle *//
app.use(session({
    saveUninitialized:false,
    resave:true,
    name:"app.sid",
    secret: 'hello',
    cookie: { 
        secure: false,
        path:"/",
        maxAge  : 60000,
    },
}));

var Router = express.Router();
const cPool = require('../config/connectionPool');
const Tasks = require('./tasks');

//Login
Router.post('/login', function(req,res){
    Tasks.signIn(req, res, (err,rows)=>{
        if(err) return res.status(400).send({error:err.code,         message:err.sqlMessage});
        if(rows.length <= 0) return res.status(400).send({message:"Invalid Credentials"});
    var token = jwt.sign({ id: rows[0].user_id }, 'heydonttrustme', { 
          expiresIn : 60*60
    });
        req.session.user = rows[0].user_id;
        res.status(200).send({message:"Successfully Loggedin"});
    });
});


app.get('/', isLoggeIn, (req, res) =>{
  console.log('----', req.session);
})

const isLoggeIn = (req, res) => {
    if(!req.session.user) {res.status(401).send({message: "Not authorized"}) }
    else true
}
...