時々、私のnodejsアプリケーション - - express
v4.12.2とexpress-session
v1.13.0モジュールを使用して、次のTypeError
例外とクラッシュがスローされます。これはエラーになりますなぜexpress-sessionの有効期限オブジェクトが正しいタイプではありませんか?
/app/node_modules/express-session/node_modules/cookie/index.js:136
if (opt.expires) pairs.push('Expires=' + opt.expires.toUTCString());
^
TypeError: opt.expires.toUTCString is not a function
at Object.serialize (/app/node_modules/express-session/node_modules/cookie/index.js:136:56)
at setcookie (/app/node_modules/express-session/index.js:576:21)
at ServerResponse.<anonymous> (/app/node_modules/express-session/index.js:204:7)
at ServerResponse.writeHead (/app/node_modules/on-headers/index.js:46:16)
at ServerResponse._implicitHeader (_http_server.js:157:8)
at ServerResponse.res.write (/app/node_modules/compression/index.js:82:14)
at ReadStream.ondata (_stream_readable.js:529:20)
at emitOne (events.js:90:13)
at ReadStream.emit (events.js:182:7)
at readableAddChunk (_stream_readable.js:147:16)
at ReadStream.Readable.push (_stream_readable.js:111:10)
at onread (fs.js:1822:12)
at FSReqWrap.wrapper [as oncomplete] (fs.js:614:17)
私はわかりませんtoUTCString()
は関数なので、アプリケーションのテストから
(opt.expires
ない限り。Date
オブジェクトではない)、また、これはときに、セッションがタイムアウトするこの問題が発生した場合、私は疑問に思って、opt.expires
を伴うように見えるので。ここで
は、私がセッションを設定しています方法です:
var express = require('express');
var expressSession = require('express-session');
...
var app = express();
...
app.use(expressSession({
key: 'application.sid',
secret: 'some.secret.string',
cookie: {
maxAge: 60 * 60 * 1000,
expires: 60 * 60 * 1000
},
store: new mongoStore({
mongooseConnection: mongoose.connection,
collection: 'sessions'
}),
saveUninitialized: true,
rolling: true,
resave: true,
secure: true
}));
私の目標は、ユーザーがアプリケーションを使用し続けた場合、セッションの有効期限が延長を取得することです。
これを設定した方法が間違っているのですか、特定のバージョンのモジュールの組み合わせで修正されるいくつかのバグがありますか?