NodeJS everyauth获取访问令牌

时间:2012-05-20 01:48:54

标签: javascript facebook node.js facebook-access-token everyauth

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

根据每个人的页面:

  

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

     
      
  • everyauth.loggedIn
  •   
  • everyauth.user - 与会话相关联的用户文档
  •   
  • everyauth.facebook - 相当于req.session.auth.facebook存储的内容,因此您可以执行以下操作:
  •   
  • everyauth.facebook.user - 返回OAuth提供商提供的用户json。
  •   
  • everyauth.facebook.accessToken - 代表该网址返回OAuth提供商提供的access_token,用于授权的API调用   用户。
  •   
  • 您还可以获得其他模块的此模式 - 例如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从客户端发送回服务器,但我觉得这有点不切实际。

1 个答案:

答案 0 :(得分:1)