node.js セッションを Cookie に保存するためにconnect/express を使用しようとしてcookieSession()
います (したがって、サーバー側のセッション ストアを回避します)。これは、ユーザーがログインしたときにユーザーを「記憶」し、サーバーの再起動後もセッションを維持するのに役立ちます。
私はこれをしたいと思いますcookieSession()
:
app.use( express.cookieSession( { secret: 'secret_key' } ) );
app.use( function (req, res, next) {
if ( req.method == 'POST' && req.url == '/login' ) {
if ( req.body.remember ) {
req.session.cookie.maxAge = 30*24*60*60*1000; // Rememeber 'me' for 30 days
} else {
req.session.cookie.expires = false;
}
}
next();
});
ただし、req.session.cookie が定義されていないため、これは機能しません。また、次のことも試しましたが、うまくいかないようでした。
app.use( express.session( { secret: 'secret_key' } ) );
app.use( function (req, res, next) {
if ( req.method == 'POST' && req.url == '/login' ) {
if ( req.body.remember ) {
req.cookies['connect.sess'].maxAge = 30*24*60*60*1000; // Rememeber 'me' for 30 days
} else {
rreq.cookies['connect.sess'].expires = false;
}
}
next();
});