[英]NodeJS everyauth get access token
我試圖使用FB API + NodeJS的everyauth模塊為用戶獲取access_token,然后使用Facebook_Graph_API模塊發出服務器端圖形API請求,以實際發出請求(這需要訪問令牌)。
根據everyauth頁面:
然后,從您的視圖中,您將可以訪問以下附加到該幫助器的方法helper
everyauth
:
everyauth.loggedIn
everyauth.user
與會話關聯的用戶文檔everyauth.facebook
等同於req.session.auth.facebook
存儲的req.session.auth.facebook
,因此您可以執行...everyauth.facebook.user
返回從OAuth提供程序提供的用戶json。everyauth.facebook.accessToken
返回從OAuth提供者提供的用於代表用戶的授權API調用的access_token。- 您還可以在其他模塊上使用此模式-例如,
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發送回服務器,但是我覺得這有點不切實際。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.