1

Я только недавно начал использовать библиотеку паспорта и стал полным noob. Однако, когда я использую мое недавно созданное приложение facebook для входа я получаю следующее сообщение об ошибке:PassportJS и Facebook Opengraph api version 2.0 Ошибка

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 больше не поддерживает поле «имя пользователя». Однако похоже, что библиотека паспортов не поддерживает версию 2.

ответ

0

Текущая последняя версия API-интерфейса Facebook - v2.2. Вы можете исправить паспорт-фейсбук (он использует 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' 

}, 
Смежные вопросы