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.user
,everyauth.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从客户端发送回服务器,但是我觉得这样做有些不切实际。
谢谢!