Node.js客户端会话不创buildreq.session

我遇到了node-client-sessions问题,所以我尝试使用https://github.com/fmarier/node-client-sessions-sample中的示例应用程序。 然而,即使这个基本的应用程序,我得到TypeError: Cannot read property 'username' of undefinedreq.session是未定义的。 以下是完整的代码:

 #!/usr/bin/env node const app = require('express')(), clientSessions = require("client-sessions"); app.use(clientSessions({ secret: '0GBlJZ9EKBt2Zbi2flRPvztczCewBxXK' // CHANGE THIS! })); app.get('/', function (req, res){ if (req.session.username) { res.send('Welcome ' + req.session.username + '! (<a href="/logout">logout</a>)'); } else { res.send('You need to <a href="/login">login</a>.'); } }); app.get('/login', function (req, res){ req.session.username = 'JohnDoe'; console.log(req.session.username + ' logged in.'); res.redirect('/'); }); app.get('/logout', function (req, res) { req.session.reset(); res.redirect('/'); }); app.listen(3000); 

package.json有:

 "dependencies": { "express": ">= 3", "client-sessions": ">= 0.0.9" } 

无论我去本地主机:3000或locahost:3000 /login我得到TypeError: Cannot read property 'username' of undefined

这是怎么回事? 不应该创buildreq.session节点客户端会话吗?

是的,事实certificate,只是req属性的默认名称从session更改为session_state 。 改变它解决了它。