在Cookie中存储Express会话

6
我已经找到了在expressjs中将session ID存储在cookie中的多种方法。实际上,我想要的是将所有的session数据存储在cookie中,并且不必担心服务器端的session存储。
为什么?我的session数据非常小,在我的情况下,使用session store会增加不必要的复杂性。
这可以在express中完成吗?如果你知道如何加密它,那就更好了。

2
像这样吗?https://github.com/expressjs/cookie-session - oznu
是的,我想是这样。我看到了这个,但文档有点混乱。我会尝试一下。 - Nik
是的,这就是我要找的。谢谢! - Nik
1个回答

5

Express cookie-session 可以满足您的需求。

var cookieSession = require('cookie-session');
var express = require('express');
var app = express();

app.use(cookieSession({
  secret: 'secret-key-you-don\'t-tell-the-client',
  signed: true,
}));

使用secret密钥并确保您的Cookies已经signed结合起来,可以防止终端用户篡改Cookie。一旦设置好,你可以在控制器中使用req.session对象访问该会话,或者使用兼容的身份验证模块,如Passport

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接