在同一页面中使用Twitter进行身份验证

时间:2012-01-07 18:13:02

标签: node.js everyauth

我正在使用Node模块everyauth与Twitter进行身份验证。目前,用户必须使用重定向路径前往/auth/twitter/进行身份验证。

问题是重定向路径重新加载页面,这打破了我构建的“单页应用程序”结构。是否可以在“一页”界限内保持Twitter的身份验证?

2 个答案:

答案 0 :(得分:1)

你不能这样做,你需要打开一个新页面(但你可以打开一个弹出窗口,例如让Twitter重定向回一个关闭弹出窗口的页面)。

答案 1 :(得分:0)

不确定这是否是您正在寻找的,我也在构建单页应用。重定向是不可避免的,但是用户转到twitter,进行身份验证并返回到同一页面,但我根据用户状态加载不同的数据,因此用户可以获得通用内容或其保存的内容。

// in server.js
app.get('/', routes.index);

// in routes.js, required in server.js
exports.index = function(req, res){
  if(req.loggedIn){
    getData(function(data){
      res.render('home', { data:, data })
    });
  } else {
    res.render('home', { data: false })
  }
};
我的方案中的

getData()会对用户进行一些检查以查看其访问级别,然后从我们的API预加载内容并将其作为JSON传递到模板中。然后,当应用程序呈现它时,它只查找可用的JSON。