NodeJS everyauth获取访问令牌

我正在尝试为NodeJS使用FB API + everyauth模块获取access_token,然后使用Facebook_Graph_API模块实现服务器端图API请求(需要访问令牌)。

根据everyauth页面:

然后,从您的视图中,您将有权访问以下helper方法附加到助手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来说是非常难以parsing的,并不是真正实用的。 有没有什么办法可以简单地从服务器使用everyauth检索access_token?

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

谢谢!

       

网上收集的解决方案 "NodeJS everyauth获取访问令牌"