node.js/everyauth:通过授权请求维护会话信息
问题描述:
好的,所以我正在将我的头靠在墙上试图弄清楚这一点!我正尝试通过Facebook进行身份验证。node.js/everyauth:通过授权请求维护会话信息
我有一个节点(0.6.13)在amazon ec2服务器上运行。我使用everyauth进行身份验证,并且我有mongodb(mongodb native和connect-mongodb)进行持久化。这里是我如何实例mongo:
var MongoStore = require('connect-mongodb');
var mongo = require('mongodb');
var mongoServer = new mongo.Server('localhost', 27017, {auto_reconnect: true, native_parser: true})
var mongoStore = new MongoStore({
db: new mongo.Db('test', mongoServer, {})
, reapInterval: 3000
});
我想通过Facebook使用everyauth进行身份验证。所以我们假设我的应用程序在端口3000上运行,位于http://ec2ip:3000/。我的Facebook应用程序设置将网站重定向回http://ec2ip:3000/。
Express是建立像这样:
app.get('/', function (req, res) {
if(!req.session.auth || !req.session.auth.loggedIn)
{
console.log("Not authorized!");
res.redirect('/auth/facebook/');
}
else
{
console.log("Authorized!");
res.sendfile(__dirname + '/www/index.html');
}
});
这为本地工作,我把它放在服务器上之前。会发生什么,它会正确验证与脸书,并重定向到我的网站,但req.session.auth将永远不确定,并将永久重定向。即使我知道它已被成功验证,但它只是没有传递正确的会话信息。
它与正确设置重定向请求有关,所以会话信息得到维护,但我不明白它是如何工作的。
任何意见/帮助将不胜感激。这些是我遇到的相关问题/问题,但我不知道如何将其应用于我的案例中:https://github.com/bnoguchi/everyauth/issues/189和Node.js & Express session problem
答
检查“req.session”中的值是多少。然后直接获取您需要的对象中的值。
你设法解决了保罗? – 2012-04-13 12:14:43