Я использую узел 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
}