私は自分のセッションで本当に奇妙なことをしている最中です。
SessionStore
からセッションを取得しようとすると、何週間も前から機能し、今日だけでしconnect-mongo
たundefined variables
。
私は良いsidを送信します。これは数週間このように機能し、.から保存された変数にアクセスできるため、セッションシステムが機能しますreq.session
.
だから私はおそらく2つの異なるセッションがあるのではないかと思っていました.sidを見つける方法はありreq.session
ますか?
正しいかどうかはわかりませんが、取得したsidとは異なるreq.session.idを持っています
コードは次のとおりです。
function parseSessionCookie(cookie, sid, secret) {
var cookies = require('express/node_modules/cookie').parse(cookie)
, parsed = require('express/node_modules/connect/lib/utils').parseSignedCookies(cookies, secret)
;
return parsed[sid] || null;
}
io.set('authorization', function(data, accept) {
var sid = parseSessionCookie(data.headers.cookie, 'connect.sid', 'secret');
SessionStore.get(sid, function(err, session) {
//err and session are undefined!
});
});
更新:
問題は、sid
私が取得しreq.session.id
たものとSessionStoreから取得したものが異なることです! SessionStrore.get()
から取得した sid で呼び出すとreq.session.id
、すべて正常に動作します。
では、このような 2 つの異なるセッションをどのように行うことができるのでしょうか?