Tag: cookie

在ExpressJs中设置Cookie失败

我在Express 4.x中遇到问题.x我无法设置任何cookie。 我想通过Ajax请求设置一个cookie,我做请求,我的服务器端res.cookie()被执行,在我的响应标题,我可以find我的具有特定名称和值的“set-cookie”头,但没有发生,cookie没有注册。 我没有HttpOnly或安全标志。 Cookie设置示例: res.cookie('my_cookie','value',{maxAge:500,secure:false,httpOnly:false}); 我注意到的是,如果我设置maxAge 500例如,我的cookie到期date从响应头约5小时前,所以我试图增加一个更大的值,但没有发生。 这就像我的set-cookie头被忽略。 我不使用AngularJS,只是jQuery。 如果我把js控制台中的set.cookie内容放在document.cookie中,这个cookie就被注册了。 预先感谢,并为我的英语不好而感到遗憾。

Express 4如何使用Session设置额外的自定义Cookie?

从阅读Express 4 Session文档 它指出: cookieparsing器中间件不再需要用于该模块的工作。 这个模块现在直接在req / res上读取和写入cookie。 如果秘密在这个模块和cookieparsing器之间是不一样的,那么使用cookieparsing器可能会导致问题。 如果我想设置一个额外的自定义cookie,比如loggedIn: true ,那么我将如何使用Session? 我没有看到任何apis设置cookie,而不是默认的会话跟踪。 正如文档所述,我不应该在express-session使用cookie-parser 。

Koa:如何获得cookie的失效date

我用ctx.cookie.set('jwt', 'abcd', { expires: new Date(xxx) })设置了一个cookie,但是现在我需要再次获取该cookie并获取它的过期date,我怎么能去做? 我可以看到的所有选项ctx.cookie.get('jwt')只获取cookie的值,而不是它的任何选项。

使用cookieSession来授权使用socket.io的用户

我正在使用socket.io的授权方法(详细在这里 )通过检查与用户关联的cookie来检查用户是否有权使用我的应用程序。 上面的博客文章是相当直接的,但我使用cookieSessions存储会话数据在cookie中。 一个很好的问题是在stackoverflow,但我无法弄清楚。 我想知道如何解密cookieSession数据来访问会话数据。 一些我的示例代码: io.set('authorization', function (data, accept) { //Check cookie for session data accept(null, true);}); 换句话说,我如何访问socket.io中的cookieSession?

在connect / express中使用cookieSession()时,为会话设置单独的maxAge

我试图使用连接/expressioncookieSession()为了存储我的node.js会话在cookie中(从而避免服务器端会话存储)。 这将帮助我在用户login时“记住”用户,即使在服务器重新启动后仍然保持会话活动。 我想用cookieSession()来做到这一点: app.use( express.cookieSession( { secret: 'secret_key' } ) ); app.use( function (req, res, next) { if ( req.method == 'POST' && req.url == '/login' ) { if ( req.body.remember ) { req.session.cookie.maxAge = 30*24*60*60*1000; // Rememeber 'me' for 30 days } else { req.session.cookie.expires = false; } } next(); }); 但是,这是行不通的,因为req.session.cookie是未定义的。 我也尝试了以下,但似乎没有工作: app.use( […]

cookieparsing器中的秘密集和会话在express.js中存储相同的东西?

Node.js提供的身份validation示例使用以下代码段: app.use(express.cookieParser('shhhh, very secret')); app.use(express.session()); 但是, express.js会话的文档使用以下内容: app.use(cookieParser()) app.use(session({ secret: 'keyboard cat', key: 'sid', cookie: { secure: true }})) 这很混乱。 两个秘密是一样的吗? 如果我将会话存储在数据库中,应该使用哪种方法?

Node.js Express + Passport + Cookie会话n> 1个服务器

从护照文档: 在典型的Web应用程序中,用于authentication用户的凭证只会在login请求期间传输。 如果validation成功,会话将通过在用户浏览器中设置的cookie来build立和维护。 每个后续请求将不包含凭据,而是标识会话的唯一Cookie。 为了支持login会话,Passport将序列化和反序列化会话中的用户实例。 因此,鉴于身份validation是在客户端的浏览器中维护的,我应该能够将Web服务器扩展到大于1(每个服务器使用相同的数据库),并且Passport将用户从存储在cookie中的ID反序列化,而不pipe服务器是否看到用户之前。 如果服务器之前见过用户,但没有cookie,我希望Passportauthentication失败,但是我甚至不能用n> 1的服务器获得这么多。 1服务器进程,护照工作正常: 服务器或多或less是两个服务器上的文档的完整文档(经过大量的试验,连接参考文献等): app.configure(function() { app.use(express.static('public')); app.use(express.cookieParser()); app.use(express.bodyParser()); app.use(express.session({ secret: 'keyboard cat' })); app.use(passport.initialize()); app.use(passport.session()); app.use(app.router); }); 当用户login成功时,在我返回HTTP请求之前,我logging了req.user和req.session : console.log(req.user); console.log(req.session); res.send(200, req.user); // {"cookie":{ // "originalMaxAge":null, // "expires":null, // "httpOnly":true, // "path":"/" // }, // "passport":{"user":"ID"}} 当HTTP请求返回时,Web应用程序请求/并期望服务器从传递的cookie中设置具有ID ID req.user : passport.deserializeUser(function(req, user_id, cb) { console.info('Passport deserializing user: […]

会话ID对于不同的客户端Nodej是相同的

目前,我们正在使用express-session与passport.js和connect-redis将数据存储在connect-redis从而在cookie中设置会话。 我有多个节点服务器服务请求。 对于没有会话的每个请求,我正在创build一个新的会话。 有时候,一个现有的会话ID被分配给一个新的请求。 创build一个独特的会话之前,我正在检查cookie是否存在…如果是,那么我不创build一个新的会话。 但是在这样做的时候,我们看到同一个会话ID被不同的客户端共享。 我怎么知道它是相同的? 第一个用户尝试login,它使login成功,并build立会话,并提供有关用户configuration文件的正确信息。 第二个用户尝试login,它会提供成功的login,但将会话设置为先前的第一个用户会话,因此第二个用户将在configuration文件部分看到第一个用户信息。 会议执行代码: function sessionImplementation() { return function (req, res, next) { if(/ucompany=s%3A/.test(req.headers['cookie'])){ var cookie = req.headers['cookie'].split("ucompany=s%3A"); var zCookie = cookie[1].split("."); var genid = zCookie[0]; return session({ genid:function () { return genid; }, store: redis, cookie: { maxAge: new Date(Date.now() + (7 * 24 * 60 * 60 […]

将快速会话存储在Cookie中

我已经find了各种方法将会话ID存储在expressjs的cookie中。 我真正想要的是将所有会话数据存储在cookie中,而不必担心服务器端会话存储。 为什么? 我的会话数据很小,在我的情况下,会话存储会增加不必要的复杂性。 这可以用快递吗? 奖金分,如果你知道如何encryption。

node.js socket.io获取cookie值

我想用socket.io在节点服务器中获取cookie值 所以每次套接字发送消息到服务器我检查cookie的价值 (我不想要会话cookie)只有在明确我得到的cookie router.get('/', function(req, res, next) { var cookie_id = req.cookies.userIDf; console.log(cookie_id); res.render('index', { title: 'Express' }); }); 它的工作在这里,但与socket.io我不能得到cookie任何解决scheme? io.sockets.on('connection', function (socket) { var cookief =socket.handshake.headers['cookie']; console.log(cookief); // its give me session id not the cookies });