0

ユーザーセッションを受け入れ/拒否するために、ソケット接続にアクセスしようとしています。

問題は、私は を取得しますが、私が取得するsessionId stringセッションSessionStore.get()は ですundefined

問題は、sessionId を取得した後に「署名」しなかったことにあると思いますが ( )、モジュールdata.cookie['connect.sid']でそれを行う方法がわかりませんでした。cookie

var MongoStore = require('connect-mongo')(express);
var SessionStore = new MongoStore({ db: "test" });
var parseCookie = require('cookie').parse;

app.use(express.session({
        secret: 'test',
        store: SessionStore
    }));

io.set('authorization', function(data, accept) {
    if (data.headers.cookie) {
        data.cookie = parseCookie(data.headers.cookie);
        data.sessionID = data.cookie['connect.sid'];
        console.log('sessionId: '+data.sessionID);
        SessionStore.get(data.sessionID, function(err, session) {
            if (err || !session) {
                console.log('err: '+err);
                console.log('Session: '+session);
                accept('Error', false);
            } else {
                data.session = session;
                accept(null, true);
            }
        });
    } else {
       return accept('No cookie transmitted.', false);
    }
});

多分誰かが私がここで見逃しているものを見ますか?

4

1 に答える 1