エクスプレス セッションと一緒に socket.io を使用しています。次のように、ミドルウェアを使用してヘッダーに Cookie を取得しています。
io.use(function(socket, next) {
console.log(socket.handshake.headers.cookie);
next();
}); これにより、コンソールに次のように表示されます。
io=ELJQk5v7q-jjZ5d_AAAA; connect.sid=s%3A17faf004-46c7-4219-9dac-81853ada8cab.ZzFPL%2BpHY9hNxEMDcLesnGEbuZyU9mOwVBZNEBuHzKA
わかりました、素晴らしいです!これで Cookie を取得できましたが、そこから情報を取得するにはどうすればよいでしょうか。私は完全に混乱しています。
私のセッションは次のように初期化されます。
app.use(session({ //using express-session
genid: function(req) {
return uuid.v4();
},
secret: 'operation',
resave: false,
saveUninitialized: true
}));
簡単な説明を広範囲に検索しましたが、見つかりませんでした。sessionStore を使用する必要がありますか? もしそうなら、なぜですか?これを処理するように設定されていると思われるさまざまなモジュールを試しましたが、これまでのところどれも機能していません。私はMongoDBを使用しているので、必要に応じてそこに保存してもかまいませんが、Redisを使用して他の人が行っているようにこれを処理することは避けたいです。