【问题标题】:node.js/everyauth: Maintaining session information with auth requestnode.js/everyauth:使用身份验证请求维护会话信息
【发布时间】:2012-05-09 09:18:40
【问题描述】:

好的,所以我正在努力解决这个问题!我正在尝试通过 Facebook 进行身份验证。

我的节点 (0.6.13) 在亚马逊 ec2 服务器上运行 express。我正在使用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
});

我正在尝试使用everyauth 通过facebook 进行身份验证。因此,假设我的应用程序在端口 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');
 }    
});

这个在我把它放到服务器上之前在本地工作。将会发生的事情是它将正确地通过 facebook 进行身份验证,并重定向到我的网站,但是 req.session.auth 将始终未定义,并且将永远重定向。即使我知道它已成功通过身份验证,它只是没有传递正确的会话信息。

这与正确设置重定向请求有关,以便维护会话信息,但我不明白它是如何工作的。

任何建议/帮助将不胜感激。这些是我遇到的相关问题/问题,但我不知道如何在我的情况下应用它:https://github.com/bnoguchi/everyauth/issues/189Node.js & Express session problem

【问题讨论】:

  • 你成功了吗?

标签: facebook node.js amazon-ec2 express everyauth


【解决方案1】:

检查“req.session”中的值是什么。然后直接去获取你需要的对象中的值。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-08-25
    • 1970-01-01
    • 2016-05-29
    • 1970-01-01
    • 2019-03-03
    • 2016-03-22
    • 2019-01-29
    相关资源
    最近更新 更多