问题标签 [express-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.
node.js - Redis 中的护照会话 cookie 不断被创建
我的 express 应用程序使用 PassportJS 来存储身份验证会话,但它在 redis 存储中创建了数量可笑的密钥,并且所有密钥看起来都一样:
他们确实有 TTL,但商店的规模正在无缘无故地增长。知道为什么要创建这些吗?我的钥匙看起来像:
如果我只是观察一下,大约每秒或两秒钟就会创建大约 10 个键。
这是我的会话代码的样子:
Redis init 函数返回一个 redis 客户端的实例:
node.js - 快速会话中的 req.session 不持久
我有以下代码:
并重新加载页面,我只是不断收到视图计数为 0 的消息。
检查控制台,这是每次的输出:
所以它似乎根本没有节省
node.js - express-session:为什么在我的会话信息设置之前执行重定向?
还有一个“我刚刚开始学习 node.js/express,现在我卡住了”的人在这里。我试过到处寻找答案,但我走到了死胡同。这是我的第一个 Stackoverflow 问题,所以如果我做错了什么或非常规,请告诉我。
我正在尝试创建一个 POST 请求,将用户对象保存到快速会话(在 MongoDB 上),并将您重定向到处理会话信息的 URL。
问题是,用户在设置标头之前被重定向,我得到以下信息:
Error: Can't set headers after they are sent.
这是我的代码。我知道这很多..对不起。
路由器.post()
请注意“req.session.user = userObj”部分。在这里,我试图将会话中的“用户”设置为从 MongoDB 检索到的用户对象。在下一行中,我将用户重定向回“/”的 GET 请求处理程序,该处理程序根据会话信息处理用户。
出于某种原因,这些并没有按顺序发生。GET 请求处理程序找不到 req.session.user。
我知道 node.js 都是关于异步的,但是从我在网上找到的其他示例来看,这应该可以工作。我在这里想念什么?
node.js - Cookie 与子域 nodejs httponly cookie 共享
我正在使用 express-session 模块来维护会话。我有两个应用程序。我想与这个应用程序共享 cookie,父应用程序在 example.com 中运行,子应用程序在 child.example.com 中运行。我使用它在子应用程序中设置的 express-session 设置 httponly cookie。我可以在 chrome 调试器的资源选项卡中验证该 cookie。
网络选项卡:
当第一次调用子域时:它加载请求中设置的“ http://www.child.example.com ”cookie。而 url 被重定向到服务器 IP 。之后cookie不可用。
像http://13.25.230.2/index cookie 不可用
javascript - Express 会话不仅仅适用于 IE
运行我的第三方 js 应用程序,在 IE 上玩 session 时看起来很奇怪。从这里使用 Chrome、FF 和 Safari 没有问题。
我的应用程序具有以下设计:
任何客户都可以使用我的第三方 js 代码。
所以,这个 widget.js 只是使用 express 调用我的应用程序节点。这个 widget.js 是一个 IIFE,在我的应用程序上获取请求并使用代码创建会话: app.js
小部件.js
我已经通过谷歌搜索了这个问题,但仍然没有解决方案。我将与恳求分享有关如何解决此问题的任何提示和知识。
注意:
我忘了说一些关键信息。该令牌已为所有浏览器(IE、Chrome、FF 和 Safari)生成良好。但是服务器的每个提示只为 IE 生成不同的令牌。该行为表明 IE 使每个请求都过期。
IIFE 参考。 https://en.wikipedia.org/wiki/Immediately-invoked_function_expression
javascript - 为什么 app.use(...) 不能在异步函数中声明?
我正在尝试使用 express 框架设置 node.js 服务器并实现会话。
这有效:
但是,当我在异步函数中声明 server.use(session(...)) 时,它会被忽略 - 会话处理不再起作用。
这里 :
为什么不能这样做?
node.js - Nods.js 会话偶尔工作
在我的节点应用程序中,我使用4 条路由来获取数据,并在接收到数据时异步设置会话。我使用express.js和 expression-session npm。但是设置会话有时会起作用。(偶尔设置数据)。有时所有的数据都没有设置。请帮帮我。
重要的代码片段
express - 如何在响应之前访问 Express(js)-session cookie 服务器端?
在节点服务器上使用 Express-session、Connect-mongo 和 PassportJS 的组合,我具有以下验证功能:
正如您在评论部分看到的,我想在响应发送到客户端之前访问 cookie 信息。我无法在“res”和“user”对象中找到任何此类数据。
具体来说,我正在寻找可以在 HTTP 响应中的“SET-COOKIE”标头中找到的相同字符串。
node.js - NodeJS 请求重置会话
我正在从我的服务器向另一台服务器发出发布请求,为此我正在使用库https://github.com/request/request。
所以,我使用下面的代码:
会话在调用这个帖子之前已经初始化,但是当它执行时,会话被重置。所以,在这种情况下,我从 session var 中丢失了 csrf 代码。
错误在“管道”函数中,因为如果我调用它,我会丢失会话,而不是在其他情况下,但我需要使用它。
如何在不丢失实际会话的情况下使用管道功能?
node.js - node.js 是否支持使用多个异步 HTTP 调用设置会话?
在我的 node.js 应用程序中,我正在使用异步调用设置会话。我使用express-session进行会话管理。但设置会话的行为偶尔会发生。我正在使用 Angular 应用程序调用 2 个 node.js 路由。
第一次它将调用 HTTP get 调用并正确获取所有数据。但是只有最后一个延迟的路线数据会被设置到会话中。不是来自两条路线的数据。似乎从延迟路由设置数据正在替换快速路由会话数据。这是我的代码。
有时所有数据都设置到会话中。(2次浏览器刷新后)