1

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

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

4

2 回答 2

1

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

于 2012-01-07T21:52:00.760 回答
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。

于 2012-01-20T16:22:25.403 回答