したがって、私が知る限り、express-sessionのドキュメントに従ってセッションを設定しました。しかし、私のクッキーは作成されていません! ドキュメントによると、request.session の値を設定するだけで、Cookie が自動的に設定されます。ブードゥーがこれを可能にしているのかはわかりませんが、魔法が壊れているようです. ここで与えられた例に対して確認したことを確認してください。私が間違っている?これらにはいくつかの重要な情報がありませんか?
//login route handler
app.post('/users/login/', function (req, res) {
//... get the row from DB, check the pass then set session
this.bcrypt.compare(password, row.hashed, function(err, passwordsMatch) {
if( passwordsMatch === true)
{
//set the session variable 'user'
req.session.user = row;
res.send(row);
}
});
それで、私は何か間違ったことをしているのだろうか、それとも最新のものにバグがあるのでしょうか? データベースを確認すると、セッション テーブルの行に正しいセッション変数が表示されます。
//Here's my "configuration" of express-session.
app.use(function (req, res, next) {
res.header('Access-Control-Allow-Credentials', 'true');
next();
});
var storeOptions = {
//my database options (this works, it makes rows in db table)
};
var sessionStore = new SessionStore( storeOptions );
app.use(session({
name:'yay_session',
secret: 'some secret this is now',
resave: true,
saveUninitialized: false,
cookie: { maxAge: 600000,httpOnly: false, domain:'localhost' },
store: sessionStore
}));
クライアント側の Cookie が設定されないのはなぜですか? リソースのデバッグ パネルには表示されません。そのため、最新の 4.13.3 バージョンが Express-Session 1.11.3 と連携して動作することにバグがあるかどうか疑問に思っています。これは8月27日現在の最新のものです。