我正在使用passportjs,express 4,socket.io并将passportj与socket连接我已将passport.socketio与connect-mongo
添加为会话存储。我在很多帖子中看到我必须避免使用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
}));
我是否必须使用"键:' your.sid-key'," ?或者我想念别的什么?
内部函数失败错误获取值false
且data.isAuthenticated()
为true
,但data.user
有{logged_in: false}
。
答案 0 :(得分:0)
实际上问题出在不同的地方,在客户端代码上,我使用url localhost:port设置套接字,当我将其更改为127.0.0.1:port时,它就完成了。