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

时间:2017-09-22 13:21:59

标签: javascript node.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);

1 个答案:

答案 0 :(得分:1)

使用secret时,在初始化会话存储时需要express-session选项。如果您没有设置机密,则会引发错误。是的,秘密用于生成用作session.id的长哈希,无法修改。这使您的会话更安全,更有可能拥有唯一ID。

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

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