【问题标题】:Socket.io sessionStore, store.get method doesn't existSocket.io sessionStore, store.get 方法不存在
【发布时间】:2016-01-05 03:26:27
【问题描述】:

我正在尝试将会话存储与 Socket.io 和 passport.js 一起使用

var session = require('express-session');
var cookieParser = require('cookie-parser');
var MongoStore = require('connect-mongo')(session);
var sessionStore = session({
    store: new MongoStore({url: 'mongodb://localhost/RULE'}),
    key: 'express.sid',
    secret: 'Heisenberg'
});

// Socket.io auth
io.set('authorization', passportSocketIo.authorize({
    cookieParser: cookieParser,
    key: 'express.sid',
    secret: 'Heisenberg',
    store: sessionStore,
    success: onAuthorizeSuccess,
    fail: onAuthorizeFail,
}));

我收到此错误: TypeError: auth.store.get is not a function

所以我猜这是 connect-mongo 商店实例的问题,但我不知道如何调试它或问题可能是什么。

【问题讨论】:

    标签: javascript node.js mongodb session passport.js


    【解决方案1】:

    好的,所以问题是我使用的是 express session 而不是 MongoStore

    var session = require('express-session');
    var cookieParser = require('cookie-parser');
    var MongoStore = require('connect-mongo')(session);
    // sessionStore and expressSesion are now saved distinctly
    var sessionStore = new MongoStore({url: 'mongodb://localhost/RULE'});
    var expressSession = session({
        store: sessionStore,
        key: 'express.sid',
        secret: 'ThisIsTheSecret'
    });
    
    var passportSocketIo = require('passport.socketio');
    
    // Load middlewares
    var morgan = require('morgan');
    
    // Use middlewares
    app.use(expressSession);
    
    // Socket.io auth
    io.set('authorization', passportSocketIo.authorize({
        cookieParser: cookieParser,
        key: 'express.sid',
        secret: 'ThisIsTheSecret',
        store: sessionStore, // here we pass the MongoStore, not the expressSession
        success: onAuthorizeSuccess,
        fail: onAuthorizeFail,
    }));
    

    【讨论】:

      猜你喜欢
      • 2017-11-05
      • 2014-06-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-15
      • 1970-01-01
      • 1970-01-01
      • 2015-11-20
      相关资源
      最近更新 更多