【发布时间】:2015-05-25 16:19:41
【问题描述】:
我正在使用passportjs、express 4、socket.io 并将passportjs 与socket 连接起来,我添加了带有connect-mongo 的passport.socketio 作为会话存储。我在许多帖子中看到我必须避免使用 cors。因此,当我在客户端代码中使用:io.connect('/'); 时,没有调用任何函数(成功/失败)。当我使用io.connect('http://localhost:8565'); 时,调用失败函数并显示消息:“未找到会话”。
商店:
var store = new (require("connect-mongo")(session))({url: "mongodb://localhost/databaseName"});
会话:
var sessionMiddleware = session({
key: 'your.sid-key',
secret: 'reallyawesomesecret',
resave: false,
saveUninitialized: true,
cookie: { maxAge: (365 * 24 * 60 * 60) },
rolling: true,
store: store
});
Passport.socketio:
io.use(passportSocketIo.authorize({
cookieParser: cookieParser,
key: 'your.sid-key',
secret: 'reallyawesomesecret',
store: store,
success: onAuthorizeSuccess,
fail: onAuthorizeFail
}));
我必须对“key:'your.sid-key'”做些什么吗?还是我想念别的东西?
内部函数失败错误获取值false 和data.isAuthenticated() 是true,但data.user 有{logged_in: false}。
【问题讨论】:
标签: express socket.io passport.js connect-mongo