我使用expressjs和[email protected]作爲會話的MongoStore。Node.js,無限循環會話
會發生什麼,會話代碼正在工作。但是在將node和npm升級到最新版本並將Mongo升級到2.0.2之後,如果我將express.session(store:new MongoStore)升級,那麼它將運行一個無限循環。任何想法發生了什麼?
這裏是我的代碼:
express.createServer(
express.cookieParser(),
express.bodyParser(),
express.session({ secret: cfg.session_secret,
cookie: { domain: 'mydomain.com' },
store:new MongoStore({
db: cfg.db_session_name,
host: cfg.db_ip,
port: cfg.db_port
})
})
)
以下是錯誤:
TypeError: Not a string or buffer
at Object.createHmac (crypto.js:129:21)
at Object.sign (/node_modules/connect-mongo/node_modules/connect/lib/utils.js:135:6)
at Object.serialize (/node_modules/connect-mongo/node_modules/connect/lib/middleware/session/cookie.js:115:17)
at ServerResponse.writeHead (/node_modules/express/node_modules/connect/lib/middleware/session.js:265:46)
at ServerResponse._implicitHeader (http.js:808:8)
at ServerResponse.end (http.js:645:10)
at next (/node_modules/express/node_modules/connect/lib/http.js:167:13)
at pass (/node_modules/express/lib/router/index.js:219:24)
at nextRoute (/node_modules/express/lib/router/index.js:209:7)
at callbacks (/node_modules/express/lib/router/index.js:274:11)
我很困惑,你說你得到一個無限循環,但也給了一個無關的錯誤信息? – loganfsmyth 2012-02-28 20:40:05
它只會永遠發送錯誤信息。繼續發送。 – murvinlai 2012-02-28 22:19:24
什麼是您的連接版本?我相信這是最近更新的,它可能缺乏一些向後兼容性。 – 2012-02-29 06:31:31