我刚刚开始使用护照库,而且是一个总菜鸟。但是,当我使用我新创建的Facebook应用程序登录时,我收到以下错误:
500 FacebookGraphAPIError:(#12)用户名已弃用v2.0及更高版本
at /app/node_modules/passport-facebook/lib/strategy.js:167:21
at passBackControl (/app/node_modules/passport-facebook/node_modules/passport-oauth2/node_modules/oauth/lib/oauth2.js:124:9)
at IncomingMessage. (/app/node_modules/passport-facebook/node_modules/passport-oauth2/node_modules/oauth/lib/oauth2.js:143:7)
at IncomingMessage.emit (events.js:117:20)
at _stream_readable.js:929:16
at process._tickCallback (node.js:419:13)
一些研究表明,facebook的开放图形api不再支持“用户名”字段。但是看起来护照库不支持版本2.
答案 0 :(得分:1)
目前最新版本的Facebook Graph API是v2.2。您可以通过覆盖选项来修复passport-facebook(它使用v1.0):
passport.use(new FacebookStrategy({
clientID : 'XXX',
clientSecret : 'XXX',
callbackURL : 'XXX',
authorizationURL: 'https://www.facebook.com/v2.2/dialog/oauth',
tokenURL: 'https://graph.facebook.com/v2.2/oauth/access_token',
profileURL: 'https://graph.facebook.com/v2.2/me'
},