2013-07-05 143 views
3

我正在使用用戶名/密碼或使用Facebook登錄NodeJS的項目。我搜索並發現有一個名爲http://passportjs.org/的NodeJS模塊,它爲不同的社交平臺(Facebook,Twitter等)整合了不同的策略。使用Facebook策略的護照NodeJS身份驗證

登錄後,我也想訪問關於用戶的不同信息,如朋友列表,可能性在他們的牆上發佈等。從我看到的facebook護照策略不支持這一點。

我的第二個選擇是使用https://github.com/amachang/facebook-node-sdk。這允許我登錄,也可以得到朋友列表,在用戶牆上發帖等。

是否可以同時使用?使用來自護照的facebook策略登錄,然後將令牌傳遞給Facebook sdk api以將其用於在用戶牆上發佈。

什麼是最好的方法?你如何看待與Facebook的整合?

非常感謝您的回答

回答

6

好的護照確實支持這一點。你可以這樣

app.get('/auth/facebook', 
passport.authenticate('facebook', { scope: ['read_stream', 'publish_actions'] }) 
); 

這在passport docs提到指定範圍內的對象權限。 Here是您可以從Facebook實際請求的權限列表。

+0

非常感謝您的幫助。我不知道。你能告訴我如何使用護照進行不同的操作,例如在用戶的牆上寫字或獲取朋友列表?我將不勝感激。再次感謝 –

+0

@SilVeRAleCS與護照,你可以獲得令牌,獲得用戶列表或寫在他們的牆上的權限。一旦你獲得了訪問令牌,你應該使用facebook api或者node facebook sdk來實際執行這些操作。 –

+0

超級有用。謝謝! Graph API Explorer實際上解釋了這個指定權限的概念,然後很好地從端點請求數據:https://developers.facebook.com/tools/explorer/ – Aspen