我正在尝试使用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.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来说并不实用。有没有办法可以使用everyauth从服务器中检索access_token?
假设我可以简单地使用一些AJAX并将everyauth.facebook.accessToken从客户端发送回服务器,但我觉得这有点不切实际。
答案 0 :(得分:1)