如何在节点js中使用没有秘密的会话

当我打印会话它的秘密转换。但我想像纯粹的价值,如果id =“52”,但得到“7OvNNopdEjLcal32ObN95MnVnRuzrZpI”

app.js文件

app.use(bodyParser.json()); app.use(session({secret: 'ssshhhhh'})); app.use(bodyParser.urlencoded({ extended: true })); 

route.js文件

 app.post("/login", function(req, res) { var sess = req.session; ... ... sess.id = results[0].client_id; //res.end('done'); console.log(sess.id); 

使用express-session时,需要初始化会话存储时的secret选项。 如果你没有设置一个秘密,那么将会抛出一个错误。 是的,这个秘密是用来生成用作session.id的长哈希,它不能被修改 。 这使您的会话更安全,更有可能拥有唯一的ID。

但是,您仍然可以将client_id添加到您的会话中! 不要将其设置为id而是将其作为req.session对象的附加属性添加:

 var sess = req.session; sess.client_id = results[0].client_id;