4

我正在尝试访问 socket.io 中的 cookie,但它不起作用,我的意思是,我可以看到 cookie 但解析不正确,我试过这个:

//Initialisation:
var connect = require('connect');
var cook = require('cookie');
io.sockets.on('connection', function(socket){
     var cookie = connect.utils.parseSignedCookies(cook.parse(socket.handshake.headers['cookie']),secret);
     console.log(cookie);
}

这段代码让我这样:

{ 'connect.sess': 'j:{"data":{"pseudo":"a","idplayer":100}}' }

我应该怎么办?

4

1 回答 1

0

我昨天尝试做同样的事情,这是我的解决方案:

io.configure(function(){
    io.set('authorization', function(data, accept){
        if(data.headers.cookie){
            data.cookie = cookie.parse(data.headers.cookie);
            return accept(null, true);
        }
        return accept('error', false);
    });
});

现在您可以通过socket.handshake.cookie['cookie']

希望能帮助到你。

于 2014-01-07T13:23:48.410 回答