gpt4 book ai didi

node.js - NodeJS - 无状态 session 的框架?

转载 作者:搜寻专家 更新时间:2023-11-01 00:02:39 24 4
gpt4 key购买 nike

是否有支持完全由客户管理的 session 的框架?换句话说,不是只将签名的 pid 存储在 cookie 中(如 Express 所做的那样),而是存储所有上下文......这样您就可以跨集群管理状态而无需持久化。

最佳答案

有支持此功能的 express 中间件:

https://github.com/expressjs/cookie-session

cookieSession()

提供基于 cookie 的 session ,并填充 req.session。该中间件采用以下选项:

  • name - 默认为“session”的 cookie 名称
  • keys - 防止篡改的 key 列表
  • secret - 如果未指定 key ,则用作单个 key
  • 选项 - 安全、httpOnly、maxAge 等附加选项。

中间件:

var cookieSession = require('cookie-session')
...
app.use(cookieSession({
name: "my_session_cookie",
secret: "dont_tell_anybody_the_secret_and_change_it_often",
options: { ... }
));

app.use((req, res, next) => {
// set options on req.session before your response goes out
req.session.viewCount = (req.session.viewCount || 0) + 1;
res.end(`You viewed the page ${req.session.viewCount} times.`);
});

要清除 cookie,只需在响应之前将 session 分配为 null:

req.session = null

关于node.js - NodeJS - 无状态 session 的框架?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17982607/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com