我正在使用passportjs、express 4、socket.io,为了将passportjs与套接字连接起来,我添加了passport.socketio和connect-mongo作为会话存储。我在许多帖子中看到,我必须避免使用cors。因此,当我在客户端代码:io.connect('/');中使用时,没有调用任何函数(成功/失败)。当我使用io.connect('http://localhost:8565');时,会调用function,并给出消息:“没有找到会话”。商店:
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
}));我一定要用“键”做点什么吗?还是我错过了别的什么?内部函数失败,错误获取值false,data.isAuthenticated()为true,但data.user有{logged_in: false}。
发布于 2015-03-23 11:00:57
实际上,问题在不同的地方,在客户端代码上,我用url localhost:port设置了套接字,当我将它更改为127.0.0.1:port时,它成功了。
https://stackoverflow.com/questions/29197328
复制相似问题