好的,所以我正在將我的頭靠在牆上試圖弄清楚這一點!我正嘗試通過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
你設法解決了保羅? – 2012-04-13 12:14:43