Tag: 快递

PassportJS会话混合起来

在ExpressJS应用程序中,当推送到生产服务器时,护照会话随机混合。 随机,即使我没有注销我的会话,该页面也可以加载另一个用户的视图。 如果不做其他事情,另一个更新会使我回到我自己的账户(也是随机的)。 我们的两个Web应用程序发生这种现象,这两个应用程序是由两个单独的用户按照其网站上的Passport指南编码的。 这两个networking应用程序都使用Facebook连接/ API。 这发生在Redis和File会话存储上。 我看到一篇关于使用全局variables的文章 :我们确定只使用本地作用域。 有什么我们做错了? 更新v1 在一个应用程序中,我们为Passport的serialize / deserialize实现了以下内容: passport.serializeUser(function(user, done) { done(null, user); }); passport.deserializeUser(function(obj, done) { done(null, obj); }); 另一方面,我们也试过: passport.serializeUser(function (user, done) { done(null, user); }); passport.deserializeUser(function(user, done) { User .where({id: user.id}) .fetch() .then(function (user) { done(null, user); }, function (err) { done(err, user); }); }); 无论哪种方式,该应用程序仍然有其会议混合起来。 […]

Heroku雪松堆栈上的Node.js端口问题

我正在Node.js中运行一个基本的Express应用程序,并试图部署到Heroku。 该应用程序在本地正常工作,我相信我的设置与Heroku已经很好,直到启动服务器,我得到以下错误: 2011-09-21T16:42:36+00:00 heroku[web.1]: State changed from created to starting 2011-09-21T16:42:39+00:00 app[web.1]: Express server listening on port 3000 in production mode 2011-09-21T16:42:40+00:00 heroku[web.1]: Error R11 (Bad bind) -> Process bound to port 3000, should be 12810 (see environment variable PORT) 2011-09-21T16:42:40+00:00 heroku[web.1]: Stopping process with SIGKILL 2011-09-21T16:42:40+00:00 heroku[web.1]: Process exited 这是目前我所有在我的app.js app.listen(3000); 我也按照Heroku入门中所提到的来运行它。 $ heroku […]

Express-mysql-session阻止passport deserializeUser运行

我有一个应用程序使用passport.js通过Facebooklogin用户,并试图使用express-mysql-session来保持其login状态。 如果我不包含express-mysql-session代码,那么护照serializeUser和deserializeUser函数就可以正常工作了…但是当我试图用express-mysql-session存储会话的代码时,deserializeUser函数不会不会受到打击,用户永远不会正确login。 server.js文件 var express = require('express'); var mysql = require('mysql'); var passport = require('passport'); var session = require('express-session'); var MySQLStore = require('express-mysql-session')(session); if (typeof process.env.OPENSHIFT_MYSQL_DB_HOST === "undefined"){ var options = { host : 'localhost', port : '3307', user : 'user', password : 'password', database : 'database', socketpath: '/var/run/mysqld/mysqld.sock' } } else { var options […]