快速会话不持久

时间:2015-07-18 21:44:56

标签: angularjs express express-session

我目前正试图在快速会话中保存数据。

我使用以下包:

"connect-mongo": "^0.8.2"
"express": "~4.0.0"
"express-session": "^1.11.3"
"mongoose": "~3.6.13"

我正在以这种方式实施会议:

// Loading packages
var express = require('express');
var app = express();
var session = require('express-session');
var MongoStore = require('connect-mongo')(session);

// Connect to MongoDB
var mongoose = require('mongoose');
var options = { server: { socketOptions: { keepAlive: 1, connectTimeoutMS: 30000 } }, 
                replset: { socketOptions: { keepAlive: 1, connectTimeoutMS : 30000 } } };
mongoose.connect(process.env.DATABASE, options);


var router = express.Router();

// Session storage
router.use(session({
    secret: 'keyboard cat',
    resave: false,
    saveUninitialized: true,
    store: new MongoStore({mongooseConnection: mongoose.connection}),
    cookie: {
        maxAge: 60*60*24*7*1000
    }
}));

// Routes
router.route('/user/me')
    .get(function(req, res) {
        console.log(req.session);
    });

router.route('/auth/login')
    .post(function(req, res) {
        req.session.userId = req.params.id;
    });

app.use('/api', router);


var port = process.env.PORT || 8080;
app.listen(port);
console.log('Magic happens on port ' + port);

现在我有以下问题: 当我尝试使用名为“Postman REST Client”(Chrome扩展程序)的软件发布到/ api / auth / login时,它可以工作,并且在获取/ api / user / me时将记录用户ID。

但是如果我尝试在angular.js应用中发布到/ api / auth / login,它就不会保存会话值。我总是在没有userId的情况下得到一个干净的会话对象。

也没有保存cookie。

你能帮我吗?

问候:最大

0 个答案:

没有答案