将 Express Session 存储在 Cookie 中

Nik*_*Nik 6 cookies session session-cookies node.js express

我找到了多种方法将会话 ID 存储在 expressjs 的 cookie 中。我真正想要的是将所有会话数据存储在 cookie 中,而不必担心服务器端会话存储。

为什么?我的会话数据很小,在我的情况下,拥有会话存储会增加不必要的复杂性。

这可以用快递完成吗?如果您知道如何对其进行加密,则可以加分。

ozn*_*znu 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,
}));
Run Code Online (Sandbox Code Playgroud)

结合使用secret密钥并确保您的 cookiesigned可以防止您的最终用户篡改任何 cookie。

设置完成后,您可以使用req.session控制器中的对象访问会话或使用兼容的身份验证模块,例如Passport