Tag: express session

如何在node.js中使用express来实现android应用程序中的服务器端会话?

你好我正在做一个Android应用程序,我有多个帐户login一次现在我的问题是,我为多个login我应该使用会话来validationlogin每个帐户用户。现在我在服务器端快速使用我已经阅读了很多有关在node.js中存储会话的文档 快速会话(虽然它只适用于开发,但不适用于生产,但不适用于我的应用程序) Cookie的会话 连接-的Redis 连接 – 蒙戈 我也听说过json的networking令牌,我可以生成唯一的令牌,然后我可以将令牌传递给客户端使用res.json({user_id:“user1”,令牌:“generated_token这里”))我也听说过护照但不知道如何做到这一点, 因为在护照我默认使用快递会话会不会有利于生产? 现在我的第一个问题是我已经阅读了所有的文档,并没有提到它在哪里我正在为每个正在注册的用户创build独特的令牌。 第二个问题,因为我正在使用我的服务器的Android应用程序将不会使用Cookie我将发送用户令牌参数req.body.token现在如何与当前user_id cmpare这个。 其实我没有得到控制的stream量,我的意思是如何在node.js会话中的一切事情。 此外,这个秘密是什么产生独特的令牌或什么。 另外我的意思是大约100000的用户现在注册我的应用程序,请告诉我相应的我应该使用哪种方式。 以前我问过这个问题,但是在那里我没有提到,因为我不是在做一个网站如何做到这一点(在我的情况下,将不会使用代币) 我知道我问的这个问题是非常含糊的,但请耐心与我,我只是想了解如何在node.js中使用会话 谢谢Anways

快速会话:为什么在设置会话信息之前执行redirect?

还有一个“我刚刚开始学习node.js / express,现在我在这里卡住了”人。 我试过寻找答案,但我已经到了死胡同。 这是我的第一个Stackoverflow问题,所以请告诉我,如果我做了错误或非常规的事情。 我正在尝试创build一个POST请求,将一个用户对象保存到一个快速会话(在MongoDB上),并将您redirect到处理会话信息的URL。 问题是,在设置标题之前用户被redirect,并给出以下内容: Error: Can't set headers after they are sent. 这是我的代码。 我知道这是很多..对不起。 router.post() // Handler for POST requests from root page (/) router.post('/', function(req, res) { console.log("Router: A POST request for: \"/\" has been called!"); var username = req.body.username; var password = req.body.password; // Connect to database mongoose.connect(dbAddress); var db […]

如何清除req.session清除节点js中的浏览器cookie?

我使用"express": "~4.14.0"用express-session保存用户名。 一旦用户login,我将把用户名保存在req.session.authorizedUser = username以将其显示在应用程序标题中。 当浏览器历史被清除或浏览器closures时,我想清除会话。 如果在进行这两个操作时有任何方法清除会话,请告诉我。 我曾尝试设置会话cookie的maxAge选项,如下所示,但它并不能反映出好的结果: app.use(session({ secret: "key test", resave: false, saveUninitialized: true, cookie: { secure: !true, path: '/', httpOnly: true, maxAge: null} }));

从不同的路线访问Express会话是不确定的?

我试图实现无限滚动。 在我的第一条路线中,我从数据库中加载5个元素,并存储上次看到的项目的ID。 要加载更多的数据getNextHomeContent被调用,但由于某种原因req.session.lastseen未定义。 server.js var express = require('express'); var session = require('express-session'); var app = express(); var mongoose = require('mongoose'); var logger = require('morgan'); var bodyParser = require('body-parser'); var cors = require('cors'); //imports database configuration var databaseConfig = require('./config/database'); //defines route file to use var router = require('./app/routes'); //connect to datbase mongoose.connect(databaseConfig.url); app.listen(process.env.PORT || 8080); […]

Express会话MongoDB存储:connect-mongo vs connect-mongodb-session

到目前为止(10.7.2016) 快速会议的github页面提出了两个mongodb会话存储: connect-mongo | 基于MongoDB的会话存储 – Github (775颗星) connect-mongodb-session | MongoDB构build和维护的轻量级基于MongoDB的会话存储 – Github (6颗星) 我应该select哪一个,他们两个之间有什么区别? 明显受欢迎的连接 – mongo胜,但它真的是“更好”的产品? 为什么MongoDB本身很麻烦编程连接mongodb会话与现有的解决scheme? 任何build议appriciated。 PS:我注意到存在几个(过时的)SO问题,比较了不同的MongoDB支持的会话存储,但是(就i通知)而言,这两个比较推荐的两个。

使用共享会话数据的socket.io身份validation,io.use()如何工作

受到如何与Socket.IO 1.x和Express 4.x共享会话的启发? 我以某种“干净”的方式实现了套接字authentication,不需要使用cookieparsing器,也不需要从头文件中读取cookie,但是对于我来说很less有东西不清楚。 示例使用上一个稳定的socket.io版本1.3.6。 var express = require('express'), session = require('express-session'), RedisStore = require('connect-redis')(session), sessionStore = new RedisStore(), io = require('socket.io').listen(server); var sessionMiddleware = session({ store : sessionStore, secret : "blabla", cookie : { … } }); function socketAuthentication(socket, next) { var sessionID = socket.request.sessionID; sessionStore.get(sessionID, function(err, session) { if(err) { return next(err); } […]