问题标签 [cookie-session]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
7909 浏览

node.js - 快速更新 cookie 会话未向浏览器注册

我已经设置了一个有效的登录测试,如下所示:

路由和用户逻辑被省略,因为我认为它们与我的问题无关,但如果需要,我会很乐意分享它们(它们非常小,这只是为了获得一个小的概念证明并运行) .

登录工作,阅读会话工作,基于会话值呈现模板工作。 我的问题是 maxAge/expires。我不确定问题出在哪里,但我会尝试描述它:

当我登录时,会话保存passport.js,正确存储在 myRedisStore中,指向会话的 cookie 返回到浏览器。在后续请求中,cookie 被成功找到并指向来自 my 的正确会话SessionStorereq.session.cookie显示更新expires,在我的redis服务器中,TTL 重置为 10 分钟 (600)。

我的问题是 cookie 在浏览器(Chrome、Windows 和 Mac)中保持相同的过期时间。

所以我的问题是:如何进一步调试?随着 req.session 的更新(由express和内部/自动),我想知道问题出在哪里,以及我应该做些什么来解决这个问题:passportCookie保持在初始 maxAges/expiresconnect-redis

非常感谢任何提示、指示或想法。

0 投票
0 回答
1379 浏览

session - express.js cookie 会话过期和 csrf

我在 express.js 中使用 express.js 和 mongoStore 和 csrf,我想将登录会话保持 24 小时。

所以我的快速配置文件是这样的。

它可以维持 24 小时的登录会话。问题是 csrf 会话令牌也发生了变化。因此,第一次登录后 24 小时后,我的网站上出现 csrf 错误。

有没有办法在没有 csrf 错误的情况下维护用户登录会话?提前致谢!:D

0 投票
2 回答
1534 浏览

node.js - 无法在 Express.js 中使用 connect-redis

我正在研究 Express.js 并学习了如何使用 cookie-session 模块处理会话。我正在尝试使用快速会话,但我遇到了问题。

以前,我使用的是 cookie-session 而不是 express-session,并且 memoryStore 运行良好。但是,我不能将 connect-redis 与 cookie-session 一起使用,因此我安装了 express-session,但是有了它,我不能使用任何类型的存储,也不能使用 memoryStore,也不能使用 Redis。

Redis DB 位于 redistogo 上,其 URI 如下所示:(为安全起见,虽然这只是为了练习,但已屏蔽)redis://redistogo:e34d3******************* ****f4bb@albacore.redistogo.com:10072/

但是,当我运行“节点应用程序”时,它会打印一个错误。

我的 package.json:

“npm ls”显示以下内容:

我的 app.js:

运行“节点应用程序”时显示的错误:

我应该使用什么会话模块?以及如何使用 Redis 进行设置?

0 投票
0 回答
699 浏览

javascript - 在 Express.js 上共享 cookie 会话

我正在尝试在两个 express.js 应用程序之间共享相同的会话 cookie。我在两个应用程序配置上设置了相同的秘密和相同的密钥 ID。然后我让它们在同一个域(不同的端口)上运行。

这两个应用程序在 app.js 中都有以下内容:

从理论上讲,它们应该为会话 cookie 共享相同的值,对吧?我看到的是,一旦我在我的应用程序之间切换,cookie“express.sid”的值就会改变。

我错过了什么吗?

0 投票
1 回答
1906 浏览

node.js - cookie-session 中间件在 expressjs 中是如何工作的?

我想知道 expressjs 中 cookie-session 的基本概念。例如,当我们在会话中存储某些东西时

此会话数据存储在哪里?它是在客户端会话cookie中还是在服务器内存中。以及 cookie-session 中间件如何在没有 cookie-parser 中间件的情况下工作。如果没有 cookie-parser 中间件,会话 cookie 是如何解析的?

cookie-session 是否创建内存会话对象?或者它将每个会话数据仅存储在客户端会话 cookie 中。或者它同时使用两者。我有点困惑。

0 投票
1 回答
2805 浏览

node.js - node.js express cookie-session 会话 id 未定义

我正在使用带有 express 和 cookie-session 库的 node.js,并且在请求处理程序中,req.session.id 是未定义的 - 任何人都可以提供有关创建和使用带有 cookie 会话或任何基于 cookie 的会话库的会话 ID 的建议表示?

编辑:我的 cookie-session 设置如下

然后无论我有一个端点,例如。

req.session.id 和 req.sessionID 未定义。如果我使用普通的快速会话,它们就会被填充。

0 投票
0 回答
281 浏览

javascript - How to overcome IE11 caching express.js cookie-session?

I'm using express.js cookie-session in order to store my logged user session. Each time I'm signing in new user I'm putting a userId on his current session and assigning this userId to a user._id I created for him on my DB:

Eventually when a new user will submit my login form, a get request will be sent to my /user restful service containing my user data and if that data (identifier) isn't store on my DB a new user will be registered on my DB and a new session cookie will be created for him.

I tested the above functionality on chrome, firefox and IE11 When using chrome/firefox the response code after login is 200 and the submitted user is being greeted by the UI. However when using IE11 The first submitted user will be greeted by the UI but when another user is submitted he won't be greeted, apparently IE11 caches the first logged in session-cookie (response code 304), unless turning on a flag in dev console which is always refresh from server, but this is not the browser's default option.

0 投票
1 回答
980 浏览

playframework - 玩玩 cookie 会话

当我为会话(cookie 会话)设置一个值时,我可以从客户端看到该值,如下所示

火狐请求cookies

但是,当我尝试使用 javascript 获取 cookie 时document.cookie,这就是我得到的全部

在此处输入图像描述

如何获取PLAY_SESSION cookie?

0 投票
1 回答
83 浏览

node.js - 如何为 node expresss.js 使用 cookie-session

由于express-session尚未准备好在生产环境中工作,除非您将模块更改为类似的东西redisStorage,所以我决定使用cookie-session

文档对我来说似乎不是很清楚。它说

其他选项传递给 cookies.get() 和 cookies.set()

  • 有什么cookies
  • 这是否意味着我们必须使用set来设置我们想要的选项?

我试图使用 cookieSession 作为express-session,但它似乎不是它的工作方式:

0 投票
1 回答
282 浏览

node.js - Node.js 中的 cookie-session 未设置会话

这让我非常头疼,CSRF cookie 工作正常,但我似乎坏了一些东西,无法启动会话。任何帮助,将不胜感激。

编辑:我忘了提到,我使用 Nginx 作为反向代理服务器,它转发到我的节点服务器,该服务器使用 HTTPS 接受来自 Nginx 的所有请求,因为我听说你需要这样做才能进行安全会话。