2

我正在尝试使用 NodeJS 的 FB API +everyauth 模块为用户获取 access_token,然后我将使用 Facebook_Graph_API 模块发出服务器端图形 API 请求以实际发出请求(这需要访问令牌)。

根据everyauth页面:

然后,在您的视图中,您将可以访问附加到帮助器的以下帮助器方法everyauth

  • everyauth.loggedIn
  • everyauth.user- 与会话关联的用户文档
  • everyauth.facebook- 相当于存储在的内容req.session.auth.facebook,因此您可以执行...
  • everyauth.facebook.user- 返回从 OAuth 提供者提供的用户 json。
  • everyauth.facebook.accessToken- 代表用户返回 OAuth 提供者为授权 API 调用提供的 access_token。
  • 您还可以为其他模块获得这种模式 - 例如,,everyauth.twitter.usereveryauth.github.user

在我的 .jade 模板中,我可以很好地提出请求:

- if (everyauth.facebook)
h3 Facebook User Data
p= JSON.stringify(everyauth.facebook.user)
p= 'facebook access token is '+ everyauth.facebook.accessToken

我的问题是,如何从服务器端 javascript 获取访问令牌?我注意到在

app.get('/', function (req, res) {
  res.render('home');
console.log(req.sessionStore.sessions.);
});

req 对象确实包含 access_token 值,但相应的 JSON 解析起来非常笨拙,并且对于许多 API 来说并不实用。有什么方法可以简单地使用everyauth从服务器检索access_token?

假设我可以简单地使用一点 AJAX 并将everyauth.facebook.accessToken 从客户端发送回服务器,但我觉得这有点不切实际。

4

1 回答 1

1

本节回答了您的问题:

https://github.com/bnoguchi/everyauth/blob/master/README.md#accessing-the-user

于 2012-05-20T03:24:47.130 回答