これはあなたが探している正確な答えではないかもしれませんが、将来の読者のためにタイトルに答えます:
私のアプリケーションを試してみたところ、express-sessionは session オブジェクトを操作した場合にのみセッション cookie を設定することに気付きました。
たとえば、次のコードを考えてみましょう。
app.post('/login', function (req, res) {
var authenticated = false;
if (req.session.authenticated) {
// session cookie is already set
authenticated = true;
} else if (/*validate the user here*/) {
console.log(' authenticating');
authenticated = true;
// if below line executes, the response will have Set-Cookie header
req.session.authenticated = authenticated;
}
res.json({
status: authenticated
//if --^ false, no session cookie will be set since we didn't manipulate session object
});
});
リクエストはメモリ内にセッション オブジェクトを作成して使用しますが、ヘッダーは、作成されたセッション オブジェクトを操作 (または改ざん? ) したSet-Cookie
場合にのみ送信されるようです。
応答とともにヘッダーを送信しSet-Cookie
、セッション ID がクライアント側の Cookie に保存されていない限り、確立されたセッションとは見なされず、心配することはありません。
それが役に立てば幸い。
補足: これはクロスドメインの ajax リクエストの場合です。通常の http リクエストとは異なる場合があります。おそらく誰かがこれを確認できます